DML数据操作语句

一、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;

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值