数据操作语言
对表中数据: 增 insert
、 删update
、 改delete
,
/*
语法:
插入单行:
insert into 表名(字段名1,字段名2,....) value(值1, 值2....)
插入多行:
insert into 表名(字段名1,字段名2,....)
values(值1, 值2....),(值1, 值2....),...
特点:
1. 字段和值列表一一对应
包含类型、约束等必须匹配
2. 数值型的值,不用单引号
非数值的值,必须使用单引号
3. 字段顺序无要求
*/
# 案例1: 要求字段和值列表一一对应,且遵循类型和约束的限制
INSERT INTO students(stuid, stuname, stugender, email)
VALUES(1, ‘侠奢‘, ‘男‘, ‘xxxx.com‘);
# 案例2: 可以为空的字段如何插入(email可以为空)
INSERT INTO students(stuid, stuname, stugender)
VALUES(2, ‘猪猪‘, ‘男‘);
INSERT INTO students(stuid, stuname, stugender, email)
VALUES(3, ‘笨笨‘, ‘男‘, NULL);
# 案例3: 默认字段如何插入(stugerder默认为娚)
INSERT INTO students(stuid, stuname, stugender, email)
VALUES(4, ‘傻傻‘, DEFAULT, NULL);
# 案例4: 可以省略字段列表,默认所有字段
INSERT INTO students VALUES(5, ‘呆呆‘, ‘女‘, NULL)
# 案例5: 多行插入,自增长
/*
自增长列:
1. 自增长列要求必须设置在一个键上
2. 自增长列要求数据类型为数值型
3. 一个表至多有一个自增长列
*/
# 创建表自增长 , 即在字段后面加上 auto_increment
INSERT INTO students VALUES(NULL, ‘痴痴‘, ‘女‘, NULL), (NULL, ‘颠颠‘, ‘女‘, NULL)
/*
语法:
update 表明 set 字段名 = 新值, 字段名 = 新值, ...
where 筛选条件
*/
# 案例: 将姓名为笨笨的同学的专业编号修改为13号,且邮箱更改为 xx@126.com
UPDATE students SET stuid = 13, email = ‘xx@126.com‘
WHERE stuname = ‘笨笨‘;
/*
方式1: delete 语句
语法:delete from 表名 where 筛选条件
方式2: truncate 语句
语法:turncate table 表名
*/
# 案例1: 删除所有叫名字里带有 傻 的同学的信息
DELETE FROM students WHERE stuname LIKE ‘%傻%‘;
# 案例2 :删除表中所有数据
TRUNCATE TABLE students;
# 区别
1. DELETE 可以添加WHERE 条件
TRUNCATE 不能添加,一次全删
2. TRUNCATE 效率高
3. 如果删除带自增长列的表
使用DELETE删除后,重新插入数据,记录容断点处开始
使用TRUNCATE删除后,重新插入数据,记录从1开始
4. DELETE 删除数据,会返回受影响的函数
TRUNCATE 删除数据,不返回受影响的行数
5. DELETE 删除数据,可以支持事务回滚
TRUNCATE 删除数据,不支持事务回滚
原文:https://www.cnblogs.com/newbase/p/13251874.html