你有沒有遇到過這種情況,你的sql語法檢查了好幾遍都對,但mysql數(shù)據(jù)表就是無法插入,提示語法有問題,其實這是因為mysql的數(shù)據(jù)表名默認不支持特殊符號,比如? -? ?*? ? .? 等符號,如果你一定要使用當然也可以,但這時你需要將帶有特殊符號的數(shù)據(jù)表用鍵盤tab建上方的` `括起來,舉個例子:
讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項目有:域名申請、虛擬空間、營銷軟件、網(wǎng)站建設(shè)、岱岳網(wǎng)站維護、網(wǎng)站推廣。
insert into `table-name` set id=1;
我在插入數(shù)據(jù)時將帶有-符號的表名用``括起來了,這樣就可以插入成功了,否則會一直提示你語法錯誤。
注意一定要是tab鍵上方的``,不是單引號' '。
如何導(dǎo)入.sql文件到mysql中
首先:建立數(shù)據(jù)庫,用這個命令:create database dbname; 其中dbname是數(shù)據(jù)庫名稱
c:\mysql\binmysql -u 用戶名 -p 數(shù)據(jù)庫名 c:/test.sql
中間的空格是一個空格位。
例如:c:\program files\mysql\binmysql -u root -p myrosz c:/myro.sql
enter password: ****
稍等一會,就可以導(dǎo)入數(shù)據(jù)表。
用shell腳本通過while循環(huán)批量生成mysql測試數(shù)據(jù)的方法。
1、很多時候需要在mysql表中插入大量測試數(shù)據(jù),下面分享一個用shell腳本通過while循環(huán)批量生成mysql測試數(shù)據(jù)的方法,你只需要根據(jù)你自己的表結(jié)構(gòu)來生成sql語句即可。
復(fù)制代碼代碼如下:
#!/bin/bash
i=1;
MAX_INSERT_ROW_COUNT=$1;
while [ $i -le $MAX_INSERT_ROW_COUNT ]
do
mysql -uroot -proot afs -e "insert into afs_test (name,age,createTime) values ('HELLO$i',$i % 99,NOW());"
d=$(date +%M-%d\ %H\:%m\:%S)
echo "INSERT HELLO $i @@ $d"
i=$(($i+1))
sleep 0.05
done
exit 0
2、假定上面的shell腳本保存為create-data.sh,可以通過下面的命令來生成數(shù)據(jù):
復(fù)制代碼代碼如下:sh create-data.sh 10000。(參數(shù)10000是要生成的數(shù)據(jù)條數(shù)。)
這里以前面新建的 teacher 表為例, teacher 表的字段為 name、age、id_number,向教師表新增一條數(shù)據(jù)命令如下:
執(zhí)行下上面的這條命令,執(zhí)行結(jié)果如下圖:
其中 “INSERT INTO” 關(guān)鍵字表示這條命令是插入數(shù)據(jù)命令,“teacher” 是要插入數(shù)據(jù)的目標數(shù)據(jù)表名稱,“name,age,id_number” 是表的字段名,“VALUES” 后面跟的是字段對應(yīng)的值,值的順序和前面字段的順序一致。
上面介紹了如何向數(shù)據(jù)表插入一條數(shù)據(jù),這里需要查看數(shù)據(jù)表已有的所有數(shù)據(jù):
執(zhí)行結(jié)果如下圖:
“SELECT” 關(guān)鍵字表示這條命令是查詢相關(guān)命令,"*" 則代表要查詢出表中所有的數(shù)據(jù)?!癋ROM teacher” 則表明要查詢的是哪一個數(shù)據(jù)表。
關(guān)于 SELECT 查詢語句還有很多中使用場景,比如我們要查詢出表中 age 字段的值大于 20 歲的數(shù)據(jù)。關(guān)于 SELECT 的其他使用我們會在后面的小節(jié)詳細講解。
新增多條數(shù)據(jù)命令:
執(zhí)行結(jié)果如下圖:
本小節(jié)介紹了如圖向數(shù)據(jù)表插入一條數(shù)據(jù)、查詢表所有數(shù)據(jù)、向表插入多條數(shù)據(jù)。前面介紹數(shù)據(jù)表的設(shè)計規(guī)范時介紹了數(shù)據(jù)表的第二設(shè)計范式要求所有數(shù)據(jù)表需要有業(yè)務(wù)主鍵。需要注意的是本節(jié)中 teacher 表的業(yè)務(wù)主鍵為自增 id,因此插入數(shù)據(jù)的時候不需要插入 id 字段的值。id 字段的默認是從 1 開始自增的,也可以指定自增起始值,如下建表語句,id自增值是從100開始的:
其中 “AUTO_INCREMENT=100” 表示自增主鍵 id 的值默認從 100 開始自增加的。