MySQL 04 数据处理之增删改
来源:互联网 发布:奥斯卡软件 编辑:程序博客网 时间:2024/06/05 15:40
1、插入数据
语法:
INSERT INTO 表名 (列名1, 列名2, …)
VALUES (值1, 值2, …);
注意:
⑴ 字符型或日期型的数据,要用单引号,数值型不用引号
⑵ 插入值时,列数和值的个数必须一致,否则会报错:
错误代码: 1136
Column count doesn’t match value count at row ?
注意:当值和列的数据类型不一致时,值仍然可以添加到数据表中。但是会有警告(warning)
⑶
① 可以为空值的列,可以把列名加上,值用NULL;也可以列名和值都不写
② 不能为空值的列,必须把列名和值都写上
⑷ 插入字符型数据时,字符的长度不能超过字段的指定长度
⑸ 列名可以省略,默认为所有的列
⑹ 在设计表时,如果某列设计成了自增长【AUTO_INCREMENT】,则在插入数据时:①可以把列名写上,值用NULL;②或者列和值都不写
Tips:
⑴ 可以一次插入多条不同的记录,语法:
INSERT INTO 表名 (列名1, 列名2, …)
SELECT 值1, 值2, … UNION
SELECT 值3, 值4, … UNION
SELECT 值5, 值6, … UNION
SELECT 值7, 值8, … ;
⑵ 可以一次插入多条相同的记录,语法:
INSERT INTO 表名 (列名1, 列名2, …)
SELECT 值1, 值2, … UNION ALL
SELECT 值1, 值2, … UNION ALL
SELECT 值1, 值2, … UNION ALL
SELECT 值1, 值2, … ;
⑴ 示例:【插入一条记录last_name, age, gender到person表中】
INSERT INTO person(last_name, age, gender)
VALUES(‘john’, 14, ‘男’);
⑵ 示例:【插入一条记录到person表(字段有:first_name,last_name,age,gender)中】
INSERT INTO person
VALUES(‘lily’, ‘Steven’, 12, ‘女’);
⑶ 示例:【一次插入多条不同记录last_name, age, gender到person表中】
INSERT INTO person(last_name, age, gender)
SELECT ‘Austin’, 21, ‘女’ UNION
SELECT ‘Urman’, 17, ‘男’ UNION
SELECT ‘Baida’, 19, ‘男’ UNION
SELECT ‘Hall’, 16, ‘女’;
⑷ 示例:【一次插入多条相同记录到person表(字段有:first_name,last_name,age,gender)中】
INSERT INTO person
SELECT ‘Russell’, ‘Allan’, 14, ‘男’ UNION ALL
SELECT ‘Russell’, ‘Allan’, 14, ‘男’ UNION ALL
SELECT ‘Russell’, ‘Allan’, 14, ‘男’ UNION ALL
SELECT ‘Russell’, ‘Allan’, 14, ‘男’;
2、修改数据
语法:
UPDATE 表名
SET 列名1 = 新值, 列名2 = 新值
[WHERE 条件]
注意:如果不加WHERE条件,则会把数据表中所有的记录都修改掉
⑴ 示例:【修改user表中:所有的用户的信息:salary为5000】
UPDATE user
SET salary = 5000;
⑵ 示例:【修改user表中:id为5的用户的信息:salary为10000,last_name为’john’】
UPDATE user
SET last_name = ‘john’, salary = 10000
WHERE id = 5;
3、删除数据
DELETE
语法:
DELETE FROM 表名
[WHERE 条件]
注意:如果不加WHERE条件,则会把数据表中所有的记录都删除掉
TRUNCATE
语法:
TRUNCATE TABLE 表名
清空表
⑴ 示例:【删除user表中:id为8的用户信息】
DELETE FROM user
WHERE id = 8;
⑵ 示例:【清空user】
方式①
DELETE FROM user;
方式②
TRUNCATE TABLE user;
对比
⑴ DELETE后面可以加WHERE条件,而TRUNCATE后面不能加WHERE条件
⑵ 从删除表中所有数据来说,TRUNCATE的速度比DELETE的速度快
⑶ TRUNCATE清空表后,再次插入数据时,设置了自增长列的编号重新从头开始
⑷ TRUNCATE没有返回值(不管删除多少:0 rows affected),而DELETE有返回值(会根据删除的行提示 ? rows affected)
⑸ TRUNCATE删除数据后不能回滚,而DELETE删除数据后可以回滚
- MySQL 04 数据处理之增删改
- MySql 之增删改
- SQL之数据处理(增删改查)
- mySQL之增删改查
- mysql 之 增删改查(二)2017-08-04
- MySQL基础入门之增删改
- MySql之增删改查总结
- MySql之增删改查总结
- MySql之增删改查总结
- MySql之增删改查总结
- MySql之增删改查总结
- mysql 之增删改查(一)
- Go语言之MySQL增删改查
- 数据库之MySQL增删改查记录
- Mysql之基本增删改查
- 04 mysql表的增删改查
- mysql增删改查
- Mysql 字段增删改
- c#中一些基础
- new关键字小tips
- 1024以内的端口用途
- latex的article类调整字号大小
- Android 版本更新下载自动安装APK,并解决Android6.0安装失败的问题
- MySQL 04 数据处理之增删改
- int和unsigned int解析和扩展
- MySQL 05 约束、事务和分页查询
- shell脚本小记 ——字符串截取
- 46. Permutations(第十周)
- 看C语言编码转换--------负数的二进制表示方法
- winamp整合贴(保持最新?)
- django搭建个人博客02,表设计(models)
- 数据库SQL优化