Mysql DBA 高級運維學習筆記-DML語句之insert知識講解
阿新 • • 發佈:2018-01-27
提示 delet gre 高級運維 gin eve .sql 測試表 平時 9.9.7.8 往表中插入數據
(1)命令語法
Insert into<表名>[(<字段名1>[…<字段名n>])]values(值1)[,(值n)]
(2)新建一個簡單的測試表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
(3)往表中插入數據的不同的例子
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.刪除數據(慎用)
system@ceshi 12:2723->delete from test;
Query OK, 5 rows affected (0.00 sec)
system@ceshi 12:4005->select * from test;
Empty set (0.00 sec)
f.批量插入演示
system@ceshi 12:4502->select * from test;
+----+-----------+
| id | name |
+----+-----------+
| 1 | wwnwan|
| 2 | zbf |
| 3 | lisi |
| 4 | woshishei |
| 5 | nimei |
g.測試完畢,退出數據庫,然後備份上述數據,留著備用。備份後檢查備份的sql數據內容;過濾無用信息。
[root@localhost ~]# mysqldump -usystem -pzbf666 -B wwn >/opt/zbf_bak.sql
[root@localhost ~]# grep -E -v "#|\/|^$|--" /opt/zbf_bak.sql
h.一個錯誤的備份案列,如果不檢查備份數據可能導致數據不是想要的
[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備份所有的庫,-B備份指定的庫
- 5.1.68版本[root@localhost ~]# mysqldump -usystem -pzbf666 –A -B --events >/opt/zbf_bak.sql
補充強調:我們平時登錄網站發帖子,發博文,實質上就是調用網站的程序連接mysql數據庫,通過上述insert語句把帖子博文數據存入數據庫的。
Mysql DBA 高級運維學習筆記-DML語句之insert知識講解