MySQL数据库中SQL语句的基本使用(二)
来源:互联网 发布:js input 光标颜色 编辑:程序博客网 时间:2024/05/21 06:35
上一篇文章主要介绍了DDL,主要是对数据库 、数据表、以及表中字段的修改等等。今天我要介绍的是DCL操作,主要是对数据表进行增、删、改、查等操作。对应的关键字为insert 、delete、update、select,所以不要和DDL混淆。
1、INSERT(插入操作)
insert是对已有的数据表中添加数据,基本的语法如下:
INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO] tbl_name [(col_name,...)] VALUES ({expr | DEFAULT},...),(...),... [ ON DUPLICATE KEY UPDATE col_name=expr, ... ]或:INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO] tbl_name SET col_name={expr | DEFAULT}, ... [ ON DUPLICATE KEY UPDATE col_name=expr, ... ]或:INSERT [LOW_PRIORITY | HIGH_PRIORITY] [IGNORE] [INTO] tbl_name [(col_name,...)] SELECT ... [ ON DUPLICATE KEY UPDATE col_name=expr, ... ]
其中insert…values和insert…set这两种方式是插入已经存在的数据,而insert…select是从其他表中选取的行作为数据。实际中常用插入语句为insert…values。
下面则举例向上一篇创建的数据库student中添加数据。
insert into (id,name,birthday,age,resume) values(1,bob,2010-1-1,12.0,null);
也可以做批量插入数据:
insert into student values(2,'ss','2015-09-01',10.0,NULL),(3,'pp','2015-09-01',11.0,NULL),(4,'lee','2015-09-01',12.0,NULL);
在插入数据是要注意一下几点:
1. 数据表中的列名和列值顺序、数据类型、个数要一一对应。2. 列值不要超过定义的数据范围3. 如果添加空值,请填写null4. 插入日期和字符串都要用‘’
2.UPDATE(修改操作)
基本语法为:
UPDATE [LOW_PRIORITY] [IGNORE] tbl_name SET col_name1=expr1 [, col_name2=expr2 ...] [WHERE where_definition] [ORDER BY ...] [LIMIT row_count]
update语句可以用新值更新原有表行中的各列。set子句指示要修改那些列和要给予那些值。where子句指定应更新那些行。如果没有where子句,则更新所有的行。如果指定了order by子句,则按照被指定的顺序对行进行更新。limit子句用于给定一个限定值,限制被更新的行的数目。
将student表中所有记录的age字段改成18.0:update student set age = 18.0;
没修改之前结果如下:
修改之后的结果如下:
修改某条记录中的字段值,例如修改id=1的这条记录的age值update student set age = 12.0 where id = 1;
修改之后的结果如下所示:
3.delete (删除操作)
删除操作的基本语法如下:
单表语法:DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM tbl_name [WHERE where_definition] [ORDER BY ...] [LIMIT row_count]多表语法:DELETE [LOW_PRIORITY] [QUICK] [IGNORE] tbl_name[.*] [, tbl_name[.*] ...] FROM table_references [WHERE where_definition]或:DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM tbl_name[.*] [, tbl_name[.*] ...] USING table_references [WHERE where_definition]
tbl_name中有些行满足由where_definition给定的条件。DELETE用于删除这些行,并返回被删除的记录的数目。delete主要是删除表中记录的。如果在编写的语句中没有添加where子句,那么相当于删除表中所有的记录。下面举例说明:
删除 student表中id = 2 的这条记录delete from student where id = 2;
删除表中所有的记录delete from student ;
删除表中所有记录还可以使用truncate关键字,它的基本语法如下
TRUNCATE [TABLE] tbl_name
delete 和 truncate的区别为:
DELETE 删除表中的数据,表结构还在;删除后的数据可以找回TRUNCATE 删除是把表直接DROP掉,然后再创建一个同样的新表。删除的数据不能找回。执行速度比DELETE快。
阅读全文
0 0
- MySQL数据库中SQL语句的基本使用(二)
- MySQL数据库中SQL语句的基本使用(一)
- MySQL数据库中SQL语句的基本使用(三)
- Mysql数据库的基本sql语句
- 使用SQL语句导出MYSQL数据库及基本表的创建SQL语句
- mysql基本sql语句总结(二)
- MySQL数据库学习笔记(三)----基本的SQL语句
- MySQL数据库、数据表的基本操作(sql语句)
- 【数据库】MySQL基本语句的使用
- [SQL]常用的MySQL基本语句(整理中)
- mysql数据库常用的基本SQL语句--数据库表操作
- mysql数据库常用的基本SQL语句--数据库数据操作
- mysql 数据库中常用的sql语句
- Mysql数据库与sql语言(二)--数据库的基本操作
- MYSQL数据库简介和常用的基本SQL语句
- 数据库-基本的SQL语句
- 数据库基本的sql语句
- 数据库中查询语句的使用(sql)
- Django创建数据表
- populating-next-right-pointers-in-each-node II
- 编程之美
- 优化Oracle数据库,有两种方式
- 剑指offer之跳台阶
- MySQL数据库中SQL语句的基本使用(二)
- 单例模式和工厂模式
- 剑指offer:树的子结构
- 对指定文件夹及其子文件夹下面的某一类格式(.tif)的文件进行重命名
- Spring对jdbc操作的支持
- Python matplotlib 练习题
- 【scrapy】爬取框架使用流程(1)
- 关于将数组作为参数传递给函数的简单使用
- S3C6410 轮询串口配置