SQL基础—DML与DDL

一、DML(Data Manipulate Language):数据操作语言

(一)主要操作: insert 、update、delete

1.插入
(1)方式一
语法:

insert into 表名(字段名,...) values(,...);

特点:
①要求值的类型和字段的类型要一致或兼容;
②字段的个数和顺序不一定与原始表中的字段个数和顺序一致但必须保证值和字段一一对应;
③假如表中有可以为null的字段,注意可以通过以下两种方式插入null值:

  • 字段和值都省略
  • 字段写上,值使用null

④字段和值的个数必须一致;
⑤字段名可以省略,默认所有列;
(2)方式二
语法:

insert into 表名 set 字段1=1,字段2=2,...;

(3)两种方式 的区别:

  • 方式一支持一次插入多行,语法如下:
insert into 表名【(字段名,..)values(值,..),(值,...),...;
  • 方式一还支持子查询,语法如下:
insert into 表名

2.删除
方式一:使用delete
(1)删除单表的记录★
语法([]中为可选项):

delete from 表名
[where 筛选条件]
[limit 条目数]

(2)级联删除[了解]
语法:

delete 别名1,别名2 from1 别名 
inner/left/right join2 别名 
on 连接条件
[where 筛选条件]

方式二:使用truncate
语法:

truncate table 表名

两种方式的区别【面试题】★

  • truncate删除后,如果再插入,标识列从1开始 ;delete删除后,如果再插入,标识列从断点开始
  • delete可以添加筛选条件;truncate不可以添加筛选条件
  • truncate效率较高
  • truncate没有返回值
  • delete可以返回受影响的行数
  • truncate不可以回滚;delete可以回滚

3.修改
(1)修改单表的记录 ★
语法:

update 表名 set 字段=,字段=[where 筛选条件];

(2)修改多表的记录(了解)
语法:

update1 别名 
left|right|inner join2 别名 
on 连接条件  
set 字段=,字段=[where 筛选条件];

二、DDL(Data Define Languge):数据定义语言

(一)主要操作 create、drop、alter

1.创建
(1)创建表 ★

create table [if not exists] 表名(
	字段名 字段类型 [约束],
	字段名 字段类型 [约束],
			……
	字段名 字段类型 [约束] 
);

(2)创建库

create database [if not exists] 库名 [character set 字符集名];

2.删除
(1)删除表

drop table [if exists] 表名;

(2)删除库

drop database [if exists] 库名;

3.修改
(1)修改表
①添加列

alter table 表名 add column 列名 类型 [first|after 字段名];

②修改列的类型或约束

alter table 表名 modify column 列名 新类型 [新约束];

③修改列名

alter table 表名 change column 旧列名 新列名 类型;

④删除列

alter table 表名 drop column 列名;

⑤修改表名

alter table 表名 rename  [to]  新表名;

⑥复制表

  • 仅复制表的结构
create table 表名 like 旧表;
  • 复制表的结构+数据
create table 表名 
select 查询列表 from 旧表 [where 筛选];

(2)修改库

alter database 库名 character set 字符集名;

三、DML与DDL对比分析

简单来说,DML操作对象是表中的数据,而DDL是表和数据库;
DML中对表中数据的增删改的语句分别是:
insert 、delete、update
DDL中对表和数据库的建删改的语句分别是:
create、drop、alter
不要搞混!!!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值