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

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’);
[email protected] 12:0600-> insert into test(id,name) values(1,‘zbf‘);
Query OK, 1 row affected (0.00 sec)

[email protected] 12:1313->select * from test;
+----+------+
| id | name |
+----+------+
|  1 | zbf  |
+----+------+
1 row in set (0.00 sec)

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

[email protected] 12:1329-> insert into test(name) values(‘wwnwan‘);
Query OK, 1 row affected (0.00 sec)

[email protected] 12:1738->select * from test;
+----+--------+
| id | name   |
+----+--------+
|  1 | zbf|
|  2 | wwnwan |
+----+--------+
2 rows in set (0.00 sec)

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

[email protected] 12:1742->insert into test values(3,‘lisi‘);
Query OK, 1 row affected (0.00 sec)
[email protected] 12:2349->select * from test;
+----+--------+
| id | name   |
+----+--------+
|  1 | zbf|
|  2 | wwnwan |
|  3 | lisi   |
+----+--------+

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

[email protected] 12:2630->insert into test values(4,‘woshishei‘),(5,‘nimei‘);
Query OK, 2 rows affected (0.00 sec)
Records: 2  Duplicates: 0  Warnings: 0

[email protected] 12:2708->select * from test;
+----+-----------+
| id | name  |
+----+-----------+
|  1 | zbf   |
|  2 | wwnwan|
|  3 | lisi  |
|  4 | woshishei |
|  5 | nimei |
+----+-----------+

e.删除数据(慎用)

[email protected] 12:2723->delete from test;
Query OK, 5 rows affected (0.00 sec)

[email protected] 12:4005->select * from test;
Empty set (0.00 sec)

f.批量插入演示

[email protected] 12:4502->select * from test;
+----+-----------+
| id | name  |
+----+-----------+
|  1 | wwnwan|
|  2 | zbf   |
|  3 | lisi  |
|  4 | woshishei |
|  5 | nimei |

g.测试完毕,退出数据库,然后备份上述数据,留着备用。备份后检查备份的sql数据内容;过滤无用信息。

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

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

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

提示:

  1. -A备份所有的库,-B备份指定的库
  2. 5.1.68版本[[email protected] ~]# mysqldump -usystem -pzbf666 –A -B --events >/opt/zbf_bak.sql

补充强调:我们平时登录网站发帖子,发博文,实质上就是调用网站的程序连接mysql数据库,通过上述insert语句把帖子博文数据存入数据库的。

原文地址:http://blog.51cto.com/10642812/2065797

时间: 2024-10-03 19:08:38

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

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

9.9.8 查询数据 9.9.8.1 查询表的所有数据行 (1)命令语法:select<字段1,字段2,->from<表名>where<表达式> (2)列子:查看表wwn中所有数据 a.进入指定数据库查询 [email protected] 04:5152->use wwn Database changed [email protected] 04:5159->select * from test -> ; +----+-----------+ | i

Mysql DBA 高级运维学习笔记-DML之修改表中的数据实战

9.10 修改表中的数据 9.10.1 修改表中指定条件固定列的数据 1.命令语法:update 表名 set 字段=新值,-.where 条件(一定要注意条件) 2.修改指定的行字段的内容 a.查看要修改的表 [email protected] 02:3907->select * from test; +----+-----------+ | id | name | +----+-----------+ | 1 | wwnwan| | 2 | zbf | | 3 | lisi | | 4 |

Mysql DBA高级运维学习笔记-mysql数据库介绍

本文为我自己学习老男孩MySQL DBA 高级运维课程的学习笔记,内容均出自老男孩MySQL DBA 高级运维课程,老男孩老师讲的很好,非常感谢老男孩老师.我是一个菜鸟刚接触运维,如果我写的文章有不对的地方:请各位行业的精英.老师多多批评指点,呵呵~ 1.1 数据库介绍 1.1.1 什么是数据库?简单的说,数据库就是一个存放数据的仓库,这个仓库是按照一定的数据结构(数据结构是指数据的组织形式或数据之间的联系)来组织.存储的,我们可以通过数据库提供的多种方法来管理数据库里的数据. 1.2 数据库的

Mysql DBA 高级运维学习笔记-MySQL备份与恢复实战案例及生产方案

1.全量备份与增量备份 1.1 全量备份 全量数据就是数据库中所有的数据,全量备份就是把数据库中所有的数据进行备份. 备份所有库: mysqldump -uroot -p123456 -S /data/3306/mysql.sock -F -B –A gzip >/server/backup/mysq_backup_$(date +%F).sql.gz 备份一个库: mysqldump -uroot -p123456 -S /data/3306/mysql.sock -F -B linzhong

Mysql DBA高级运维学习笔记-Mysql数据库的多种安装方法

3.1 MySQL数据库的安装 3.1.1 yum/rpm方式安装 注意:yum/rpm方式安装MySQL适合所有MySQL软件产品系列. (1)rpm包方式安装mysql我们必须安装Mysql-server和Mysql.client包,rpm安装很简单这里就不说了. (2)yum方式安装mysqlyum 安装的方式很简单,只要执行yum install mysql-server –y即可.大的门户把源码根据企业的需求制作成rpm,搭建yum仓库,yum install xxx -y. 3.1.

Mysql DBA 高级运维学习笔记-Mysql插入中文乱码问题

1.1 mysql插入中文数据乱码 1.1.1MySQL中添加中文数据并查看检表语句 a.创建cuizhong测试数据库并查看建表语句 mysql> create database cuizhong; Query OK, 1 row affected (0.00 sec) mysql> show create database cuizhong\G *************************** 1. row *************************** Database:

Mysql DBA 高级运维学习笔记-mysql建表语句及表知识

9.9 表操作 9.9.1以默认字符集建库 以默认格式的为例,指定字符集建库 [email protected] 07:0205->create database wwn; Query OK, 1 row affected (0.00 sec) [email protected] 07:0339->SHOW CREATE DATABASE wwn\G; *************************** 1. row *************************** Database

Mysql DBA 高级运维学习笔记-Mysql增量备份及数据恢复实战

大家好本文讲了mysql数据库的增量恢复.老男孩老师讲的很好很细,我自己呢整理了老师讲的部分内容,请大家将就看:文章内容比较多.比较乱,请大家认真总结知识,发现问题请及时批评指点~ 1.1 MySQL数据库的备份与恢复 1.1.1备份单个数据库练习多种参数使用 Mysql数据库自带了一个很好用的备份命令,就是mysqldump, 它的基本使用如下: 语法:mysqldump –u用户名 –p密码 数据库名>备份的文件名 范烈1:备份名字为cuizhong的库 a.查看备份前的数据 [[email

Mysql DBA 高级运维学习笔记-MySQL数据库多实例介绍

5.1 MySQL多实例介绍 5.1.1 什么是MySQL多实例? 简单的说,就是一台机器上开启多个不同的服务端口(如3306,3307),运行多个MySQL服务进程,这些进程通过不同的socket监听不同的服务端口来提供各自的服务.这些MySQL多实例共用一套MySQL安装程序,使用不同(也可以相同)的my.cnf配置文件.启动程序,数据文件.我们今天学的是共用一套安装程序,使用不同的配置文件.不同的启动程序.不同的数据文件.在提供服务的时候,多实例MySQL在逻辑上看来是各自独立的,多个实例