MySQL语句记录(持续更新)

1. DDL (Data Definition Language)数据定义语言,用于操作数据库和表

create alter drop truncate

auto_increment 自增

truncate 删除表并重新创建,而delete是只删除表中的数据

#创建数据库
create databse 数据库名称;
#删除数据库
drop database 数据库名称;

#创建表(以user表为例)
create table user(id int primary key auto_increment,...);

#修改表名
alter table user rename to user2;
#添加表字段
alter table user add username varchar(20);
#修改表字段
alter table user change username name varchar(20);
#修改字段类型
alter table user modify name int;
#删除表字段
alter table user drop name;

#删除表
drop table user;

常用的命令

#切换数据库
use 数据库名称;
#显示数据库中所有表
show tables;
#查看表结构
desc user;
#查看表的建表语句

2. DML(Data Manipulation Language)数据操纵语言:适用范围:对数据库中的数据进行一些简单操作,如insert,delete,update,select等.

  • 插入
#1.插入表中对应的所有字段
insert into user values(字段值...) ;
#2.插入指定的字段
insert into user(字段...) values(字段值...);
  • 更新
update user set 字段=字段值 where 条件;
  • 删除
delete from user where 条件;
  • 查询
select ... from 表名 where 条件 group by 分组字段 having 条件 order by 排序字段;

#分页查询
select ... limit m,n;(从索引m开始向后查找n条数据)
select ... limit n; (相当于上面的[0,n])

3.多表查询

  • 内连接

    • 显式

      #a,b为表名
      select a.*,b.* from a [inner] join b on 条件;
      
    • 隐式

      #a,b为表名
      select a.*,b.* from [outer] a,b where 条件;
      
  • 外连接

    • 左外连接

      select a.*,b.* from a left join b on 条件;
      

      以a为主,展示所有数据,根据条件关联查询b表;满足条件展示,否则的话显示NULL;右外连接类似,只不过是以b为主。

  • 子查询

一个查询依赖另一个查询。

4. MySQL事务

事务是一组不可被分割执行的SQL语句集合,如果有必要,可以撤销。 MySQL中事务默认是自动提交(见下图),每执行一条sql语句都会提交一次事务

默认是自动提交
  • 关闭自动事务.
set autocommit = off;
  • 手动开启一个事务
#开启事务
start transaction;

#事务提交(提交之前所执行的sql语句)
commit;

#事务回滚(清空之前的操作,撤销)
rollback;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容