MySQL数据库常用SQL

493 阅读2分钟

什么是SQL?

结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。

SQL的分类

  • DDL: 数据库的定义, 与数据库/表结构: create, drop, alter
  • DCL: 数据控制语言: 设置用户的访问权限 安全
  • DML: 数据操纵语言: 操作表数据 insert update delete
  • DQL: 数据查询语言: select from where

数据库操作

操作SQL
创建数据库create database 数据库的名字
删除数据库drop database 数据库名字
修改数据库alter database character set 字符集
查看所有数据库show databases
查看数据库定义show create database 数据库名字
查看当前正在使用的数据库select database()
选中数据库use 数据库的名字

表结构操作

创建表

create table 表名( 列名 列的类型(长度) 约束, 列名2 列的类型(长度) 约束 );

列的约束

  • 主键约束: primary key
  • 唯一约束: unique
  • 非空约束: not null

删除表

drop table 表名

修改表

操作SQL
添加列alter table 表名 add 列名 列的类型 列的约束
修改列alter table 表名 modify 列名 列的类型 列的约束
修改列名alter table 表名 change 旧列名 新列名 列的类型 列的约束
删除列alter table 表名 drop 列名
修改表的字符集alter table 表名 character set 字符集
修改表名rename table 旧表名 to 新的表名

查看表

操作SQL
查看当前数据库中所有的表名show tables
查看表的定义结构/创建语句show create table 表名
查看表的结构desc 表名

表中数据的CRUD操作

插入数据

  • insert into 表名(列名1,列名2)values(值1,值2);
  • insert into 表名 values(值1,值2);
  • 批量插入:insert into 表名values(值1,值2),(值1,值2),(值1,值2);

删除数据

  • delete from 表名 [where 条件];
  • 先删除表,再重建表:truncate table 表名;

更新数据

  • update 表名 set 列名=值, 列名=值 [where 条件];

查询数据

通用格式 select [distinct] [*] [列名1,列名2] from 表名 where 条件 group by [列名] having 条件过滤 order by 排序1 asc,排序2 desc;

关系运算符

  • <> 不等于
  • != 不等于

逻辑运算符

  • and or not

在范围中

  • in

模糊查询

  • like
  • _ 表示的单个字符
  • % 表示的是多个字符

别名查询

  • as

聚合函数

  • sum : 求和
  • avg() : 平均值
  • count() : 统计数量
  • max() : 最大值
  • min() : 最小值

排序

  • order by [列名] asc:升序排序
  • order by [列名] desc:降序排序

分组

  • group by [列名]

思维导图

在这里插入图片描述