DML
插入
插入语句的语法:
insert into 表名(列名1,列名2,列名3...列名n) values(值1,值,2...值n),(值1,值,2...值n)
insert into 表名
set 列名1=值1,列名2=值2,...列名n=值n
注意事项: 1.值的数据类型要和列的数据类型一致 2.注意可以为空的列的处理 3.列和值的顺序要对应
修改
修改语句的语法:
update 表名
set 列=新值,列=新值,...
where 筛选条件;
update 表1 别名,表2 别名
set 列=值,...
where 连接条件
and 筛选条件;
update 表1 别名
inner|left|right join 表2 别名
on 连接条件
set 列=值,...
where 筛选条件;
删除
删除语句的语法:
delete from 表名 where 筛选条件
delete 表1的别名,表2的别名
from 表1 别名,表2 别名
where 连接条件
and 筛选条件;
delete 表1的别名,表2的别名
from 表1 别名
inner|left|right join 表2 别名 on 连接条件
where 筛选条件;
truncate table 表名;
方式一和方式二的区别: 1.delete 可以加where 条件,truncate不能加 2.truncate删除,效率高一丢丢 3.假如要删除的表中有自增长列, 如果用delete删除后,再插入数据,自增长列的值从断点开始, 而truncate删除后,再插入数据,自增长列的值从1开始。 4.truncate删除没有返回值,delete删除有返回值 5.truncate删除不能回滚,delete删除可以回滚.
DDL
创建: create 修改: alter 删除: drop
对库的操作
库的创建:
create database if not exists 库名;
库的修改:
alter database 数据库名字 character set 字符集gbk;
库的删除:
drop database if exists 库名
对表的操作
表的创建
create table 表名(
列名 列的类型(长度) 约束,
列名 列的类型(长度) 约束,
列名 列的类型(长度) 约束,
.
.
.
)
表的修改
alter table 表名 rename to 新表名;
alter table 表名 change column 旧列名 新列名 数据类型
alter table 表名 drop column 列名
alter table 表名 add column 列名 数据类型
表的删除
drop table if exists 表名
表是复制
create table 表名 like 被复制的表名
create table 表名
select * from 被复制的表名
把复制部分数据的条件变为false
TCL
什么是事务? 一个或一组sql语句组成一个执行单元,这个执行单元要么全部执行,要么全部不执行。 事务的特征: 原子性:事物不可被再次分割,最小单位,要么都进行,要么都不进行。 一致性:操作前后数据总体一致 持久性:操作过后会永久改变数据库 隔离性:操作同一个数据库时,事物之间不会相互干扰 事务的执行步骤: 事务的并发问题: 事务的隔离级别:
|