十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
你有没有遇到过这种情况,你的sql语法检查了好几遍都对,但mysql数据表就是无法插入,提示语法有问题,其实这是因为mysql的数据表名默认不支持特殊符号,比如 - * . 等符号,如果你一定要使用当然也可以,但这时你需要将带有特殊符号的数据表用键盘tab建上方的` `括起来,举个例子:
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名申请、虚拟空间、营销软件、网站建设、岱岳网站维护、网站推广。
insert into `table-name` set id=1;
我在插入数据时将带有-符号的表名用``括起来了,这样就可以插入成功了,否则会一直提示你语法错误。
注意一定要是tab键上方的``,不是单引号' '。
如何导入.sql文件到mysql中
首先:建立数据库,用这个命令:create database dbname; 其中dbname是数据库名称
c:\mysql\binmysql -u 用户名 -p 数据库名 c:/test.sql
中间的空格是一个空格位。
例如:c:\program files\mysql\binmysql -u root -p myrosz c:/myro.sql
enter password: ****
稍等一会,就可以导入数据表。
用shell脚本通过while循环批量生成mysql测试数据的方法。
1、很多时候需要在mysql表中插入大量测试数据,下面分享一个用shell脚本通过while循环批量生成mysql测试数据的方法,你只需要根据你自己的表结构来生成sql语句即可。
复制代码代码如下:
#!/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 create-data.sh 10000。(参数10000是要生成的数据条数。)
这里以前面新建的 teacher 表为例, teacher 表的字段为 name、age、id_number,向教师表新增一条数据命令如下:
执行下上面的这条命令,执行结果如下图:
其中 “INSERT INTO” 关键字表示这条命令是插入数据命令,“teacher” 是要插入数据的目标数据表名称,“name,age,id_number” 是表的字段名,“VALUES” 后面跟的是字段对应的值,值的顺序和前面字段的顺序一致。
上面介绍了如何向数据表插入一条数据,这里需要查看数据表已有的所有数据:
执行结果如下图:
“SELECT” 关键字表示这条命令是查询相关命令,"*" 则代表要查询出表中所有的数据。“FROM teacher” 则表明要查询的是哪一个数据表。
关于 SELECT 查询语句还有很多中使用场景,比如我们要查询出表中 age 字段的值大于 20 岁的数据。关于 SELECT 的其他使用我们会在后面的小节详细讲解。
新增多条数据命令:
执行结果如下图:
本小节介绍了如图向数据表插入一条数据、查询表所有数据、向表插入多条数据。前面介绍数据表的设计规范时介绍了数据表的第二设计范式要求所有数据表需要有业务主键。需要注意的是本节中 teacher 表的业务主键为自增 id,因此插入数据的时候不需要插入 id 字段的值。id 字段的默认是从 1 开始自增的,也可以指定自增起始值,如下建表语句,id自增值是从100开始的:
其中 “AUTO_INCREMENT=100” 表示自增主键 id 的值默认从 100 开始自增加的。