一、Mysql对数据的增 删 改(DML)
1.新增数据
新增数据的关键字INSERT,主要功能是 给数据库表增加记录。
1.1 语法
新增数据的语法:insert into 表名 (字段名,字段名,...,字段名) values/value(值,值,...,值)
注意:
• 字段或值之间用英文逗号隔开;
• 可同时插入多条数据,values 后用英文逗号隔开;
• values和value的方式均可
1.2 全字段插入
-- 全字段的插入
-- 方式一
insert into student (sid,sname,birthday,ssex,classid) values(9,'张三','2007-1-2','男',1);
-- 方式二 1.null
insert into student values(null,'张甜甜','2001-10-1','女',2);
insert into student values(default,'张甜甜','2001-10-1','女',2);
1.3 部分字段插入
-- 部分字段插入
insert into student(sname,ssex) values('张同学','男');
alter table student modify ssex varchar(10) not null default '保密';
insert into student(sname) values('陈博');
1.4 一次性添加多条数据
-- 一次性添加多条数据
-- 方式一 最常用的方式
-- insert into 表名 (字段名...) values(值..),(值..)...
insert into student(sname,ssex) values('杨文琦','男'),('杨渤海','女'),('杨坤','男');
-- 方式二 不常用
-- insert into select
-- 插入和被插入的表都必须存在
create table newstu(
xingming varchar(10),
xingbie varchar(10),
classid int
);
insert into newstu(xingming,xingbie,classid) select sname,ssex,classid from student;
-- 方式三
-- create table select
-- 被插入的表不能存在 -- 被插入表没有任何约束
create table stu1 select sid,sname,birthday from student;
2. 修改数据
修改数据的关键字是UPDATE,主要功能是修改数据库表中已有的记录。可以根据条件去做修改。
2.1 语法
修改数据的语法:update 表名 set 字段名=值,字段名=值,...,字段名=值
[where 字句条件]
- where 子句中的条件是对表中每一条数据进行判断
- 判断该成立该数据的父句执行,判断不成立该数据父句不执行
2.1.1 WHERE子句
有条件的从数据库表中获取记录,通常同在修改,删除,和查询语句的时候,协助该类语句从条件中获取 记录。针对修改和删除语句,如果没有条件,则全部修改和全部删除。
运算符 | 含义 | 举例 | 结果 |
= | 等于 | 5=6 | false |
<> 或 != | 不等于 | 5!=6 | true |
> | 大于 | 5>6 | false |
< | 小于 | 5<6 | true |
>= | 大于等于 | 5>=6 | false |
<= | 小于等于 | 5<=6 | true |
BETWEEN | 在某个范围之间 | BETWEEN 5 AND 10 | - |
AND | 并且 | 5>1 AND 1>2 | false |
OR 或 5>1 OR 1>2 True | 或 | 5>1 OR 1>2 | True |
Not | 非 |
update stu1 set birthday='1998-11-23' where sname='陈博';
update newstu set classid = 200 where xingbie != '男';
update newstu set classid = 300 where xingbie <> '女';
update newstu set xingbie = '保密' where classid < 260;
update newstu set xingbie = '外星人' where classid >= 30 and classid <= 90;
-- 30 50 70 他们的性别变为地球人
update newstu set xingbie = '地球人' where classid = 30 or classid = 50 or classid=70;
update newstu set xingbie = '火星人' where classid >= 30 and classid <= 90; -- 等价
update newstu set xingbie = '水星人' where classid between 30 and 90; -- 等价
3.删除数据
删除数据的关键字DELETE,主要功能室删除 数据库表中已有的记录。可以依 照条件去做修改。
3.1 语法
删除数据的语法是:delete from 表名 【where 子句】
注意:
• TRUNCATE是一个特殊的删除语句,又叫做清空语句;
• “[]”包含的内容可以省略;
• 功能:清空某一张表内的全部数据,重置自增计数器;
• 特点:由于没有条件约束,所以速度快,而且效率高。
3.1.1 delete 删除数据
delete from newstu;
delete from stu1 where sid=1;
3.1.2 truncate 清空表 、截断表
语法:truncate 表名
-- 清空表 、截断表
-- truncate 表名
-- 没有条件
truncate stu1;
delete truncate drop的区别(面试题)!!!
- delete 之删除数据
- truncate 不仅把数据删掉,还删除了索引
- drop 不仅把数据删掉,还删除了索引,表结构也删了
delete from student;
insert into student (sname) values('小明');
truncate student;