您的位置:首页 > 数据库 > SQL

Mysql DBA 高级运维学习笔记-DML语句之insert知识讲解

2018-01-27 16:27 926 查看

9.9.7.8 往表中插入数据

命令语法

Insert into<表名>[(<字段名1>[…<字段名n>])]values(值1)[,(值n)]

1. 插入数据演示

(1)新建一个简单的测试表test1

Create Table: CREATE TABLE `test1` (
`id` int(4) NOT NULL AUTO_INCREMENT,
`name` char(20) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1

(2)往表中插入数据的不同的例子

a.按规矩指定所有列名,并且每列都插入值

Insert into test(id,name) values(1,’zbf’);
system@ceshi 12:0600-> insert into test(id,name) values(1,'zbf');
Query OK, 1 row affected (0.00 sec)

system@ceshi 12:1313->select * from test;
+----+------+
| id | name |
+----+------+
|  1 | zbf  |
+----+------+
1 row in set (0.00 sec)

b.由于id列为自增的,所以只在name列插入值

system@ceshi 12:1329-> insert into test(name) values('wwnwan');
Query OK, 1 row affected (0.00 sec)

system@ceshi 12:1738->select * from test;
+----+--------+
| id | name   |
+----+--------+
|  1 | zbf|
|  2 | wwnwan |
+----+--------+
2 rows in set (0.00 sec)

c.如果不指定列,就要按规矩为每列都插入适当的值

system@ceshi 12:1742->insert into test values(3,'lisi');
Query OK, 1 row affected (0.00 sec)
system@ceshi 12:2349->select * from test;
+----+--------+
| id | name   |
+----+--------+
|  1 | zbf|
|  2 | wwnwan |
|  3 | lisi   |
+----+--------+

d.批量插入数据方法提升效率。

system@ceshi 12:2630->insert into test values(4,'woshishei'),(5,'nimei');
Query OK, 2 rows affected (0.00 sec)
Records: 2  Duplicates: 0  Warnings: 0

system@ceshi 12:2708->select * from test;
+----+-----------+
| id | name  |
+----+-----------+
|  1 | zbf   |
|  2 | wwnwan|
|  3 | lisi  |
|  4 | woshishei |
|  5 | nimei |
+----+-----------+

e.数据插入成功,然后备份上述数据,留着备用。备份后检查备份的sql数据内容;过滤无用信息。

[root@localhost ~]# mysqldump -usystem -pzbf666 -B wwn >/opt/zbf_bak.sql
[root@localhost ~]# grep -E -v "#|\/|^$|--" /opt/zbf_bak.sql

f.一个错误的备份案列,如果不检查备份数据可能导致数据不是想要的

[root@localhost ~]# mysqldump -usystem -pzbf666 -A -B wwn >/opt/zbf_bak1.sql
[root@localhost ~]# grep -E -v "#|\/|^$|--" /opt/zbf_bak1.sql
Usage: mysqldump [OPTIONS] database [tables]

提示:

a. -A备份所有的库,-B备份指定的库

b.5.1.68版本

[root@localhost ~]# mysqldump -usystem -pzbf666 –A -B --events >/opt/zbf_bak.sql

2.生产环境实例

2.1 mysql数据库批量插入数据shell脚本实现

可以阅读老男孩老师的博客

http://blog.51cto.com/oldboy/597511

补充强调:我们平时登录网站发帖子,发博文,实质上就是调用网站的程序连接mysql数据库,通过上述insert语句把帖子博文数据存入数据库的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mysql DBA