三、DML


一、插入【INSERT INTO…】


1.1 insert into…(…)values(…);

语法:
	insert into 表名(列名,...) values(1,...);
注意:
	插入的值的类型要与列的类型一致或兼容
	列的顺序可以调换,要求列值对应
	列数和值的个数必须一致
	不可以为null的列必须插入值
	为null的列插入null值可用null填充或省略
	可以省略列名,默认所有列,而且列的顺序和表中列的顺序一致
	

INSERT INTO beauty(id,NAME,sex,borndate,phone,photo,boyfriend_id)
VALUES(13,'唐艺昕','女','1990-4-23','1898888888',NULL,2); 

INSERT INTO beauty
VALUES(18,'张飞','男',NULL,'119',NULL,NULL);

1.2 insert into… set …=…, …;

语法:
	insert into 表名
	set 列名=,列名=,...


INSERT INTO beauty
SET id=19,NAME='刘涛',phone='999';

1.3 两种方式对比

方式一支持插入多行,方式二不支持

INSERT INTO beauty
VALUES(23,'唐艺昕1','女','1990-4-23','1898888888',NULL,2)
,(24,'唐艺昕2','女','1990-4-23','1898888888',NULL,2)
,(25,'唐艺昕3','女','1990-4-23','1898888888',NULL,2);


方式一支持子查询,方式二不支持

INSERT INTO beauty(id,NAME,phone)
SELECT id,boyname,'1234567'
FROM boys WHERE id<3;

二、修改【UPDATA…SET…WHERE…】


2.1 修改单表的记录

语法:
	update 表名
	set=新值,=新值,...
	where 筛选条件;


UPDATE beauty SET phone = '13899888899'
WHERE NAME LIKE '唐%'; #修改beauty表中姓唐的女神的电话为13899888899

2.2 修改多表的记录

语法:
	sql92语法:	
			update1 别名,2 别名
			set=,...
			where 连接条件
			and 筛选条件;

	sql99语法:
			update1 别名
			inner|left|right join2 别名
			on 连接条件
			set=,...
			where 筛选条件;
			
			
UPDATE boys bo
INNER JOIN beauty b ON bo.`id`=b.`boyfriend_id`
SET b.`phone`='119',bo.`userCP`=1000
WHERE bo.`boyName`='张无忌'; #修改张无忌的女朋友的手机号为114

三、删除【DELETE FROM…WHERE…】


3.1 delete

语法:
	1、单表的删除【★】
				delete from 表名 where 筛选条件

DELETE FROM beauty WHERE phone LIKE '%9'; #删除手机号以9结尾的女神信息


	2、多表的删除【补充】
		sql92语法:	
				delete1的别名,2的别名
				from1 别名,2 别名
				where 连接条件
				and 筛选条件;
	
		sql99语法:
				delete1的别名,2的别名
				from1 别名
				inner|left|right join2 别名 on 连接条件
				where 筛选条件;

DELETE b
FROM beauty b
INNER JOIN boys bo ON b.`boyfriend_id` = bo.`id`
WHERE bo.`boyName`='张无忌'; #删除张无忌的女朋友的信息

DELETE b,bo
FROM beauty b
INNER JOIN boys bo ON b.`boyfriend_id`=bo.`id`
WHERE bo.`boyName`='黄晓明'; #删除黄晓明的信息以及他女朋友的信息

3.2 truncate

语法:
	truncate table 表名;
注意:
	truncate语句不允许加where!!!

TRUNCATE TABLE boys;  #一删全删,清空数据

3.3 区别

区别:
	1.delete 可以加where 条件,truncate不能加
	2.truncate删除,效率高一丢丢
	3.假如要删除的表中有自增长列,
	  如果用delete删除后,再插入数据,自增长列的值从断点开始,
	    而truncate删除后,再插入数据,自增长列的值从1开始。
	4.truncate删除没有返回值,delete删除有返回值,返回几行受影响
	5.truncate删除不能回滚,delete删除可以回滚


DELETE FROM boys;
INSERT INTO boys (boyname,usercp)
VALUES('张飞',100),('刘备',100),('关云长',100); #4,5,6,

TRUNCATE TABLE boys;
INSERT INTO boys (boyname,usercp)
VALUES('张飞',100),('刘备',100),('关云长',100); #1,2,3,
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值