MySQL——DMLDDL语言
Posted shiqi521
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL——DMLDDL语言相关的知识,希望对你有一定的参考价值。
DML:数据操纵语言
关键字:insert、update、delete
数据的插入
1、单行插入
语法:
方法一:
insert into 表名 (字段1,字段2,...)
values(值1,值2,...);
方法二:
insert into 表名 set 字段一=‘值1‘,字段二=‘值二‘;
注意事项:
1、字段和值列表必须一一对应
2、字符型和日期型必须用单引号引起来
3、字段的顺序可以和表中字段的顺序不一致
4、不可以为NULL的字段,必须插入值,比如说主键id;可以为NULL的字段,可以不用插入值,使用NULL来代替,或字段名和值都不写
5、字段和值的个数必须一致
6、字段列表可以省略,默认所有列 ,而且顺序和表中的列的顺序一致
2、多行插入
语法:
方法一:
insert into 表名 (字段一,字段二)
values(‘x1‘,‘x2‘),
(‘y1‘,‘y2‘),
......
(‘z1‘,‘z2‘);
方法二:
insert into 表名 (字段一,字段二)
select ‘x1’,‘x2‘ union
select ‘y1‘,‘y2‘ union
......
select ‘z1‘,‘z2‘;
数据更新
1、单表更新
语法:
update 表名 set 字段名=新值,字段名=新值
[WHERE 条件];
2.多表更新
语法:
update 表1 别名1,表2 别名2
set 字段1=新值,字段2=新值
where 连接条件
and 筛选条件;
数据删除
1、单表删除
语法:
方法一:
delete from 表 [where 条件]
方法二:
truncate table 表名
注意事项:
1、TRUNCATE不能加WHERE条件,而DELETE可以加WHERE
2、TRUNCATE效率较高
3、TRUNCATE不能删除多表,而DELETE可以
4、删除带标识列字段的表时,TRUNCATE 删除后再插入,标识列的值从1开始;DELETE删除后再插入,标识列的值从断点处开始
5、TRUNCATE删除后,不能回滚;DELETE删除可以回滚
2、多表删除
语法:
delete 别名1,别名2 FROM 表1 别名1,表2 别名2
where 连接条件
and 筛选条件
DDL:数据定义语言
关键字:create、alter、drop
一、库的操作
1、创建库
create database 库名;
create database if not exists 库名;
2、删除库
drop database 库名;
drop database if not exists库名;
二、表的操作
1、创建表
create table 表名(
字段名 字段类型(长度),
字段名 字段类型(长度),
字段名 字段类型(长度),
字段名 字段类型(长度)
......
);
2、修改表
①修改表名
alter table 修改前的表名 rename 修改后的表名;
②修改列名(不加类型报错,需要加类型)
alter table 表名 change column 修改前的列名 修改后的列名 数据类型;
③修改列的类型
alter table 表名 modify column 列名 数据类型;
④添加新列
alter table 表名 add column 列名 数据类型;
⑤删除列
alter table 表名 drop column 列名;
3、删除表
drop table 表名;
drop table if exists 表名;
4、表的复制
①仅仅复制表的结构
create table 新表 like 被复制的表;
②复制表的结构+数据
create table 新表 select 被复制的表;
以上是关于MySQL——DMLDDL语言的主要内容,如果未能解决你的问题,请参考以下文章