Mysql的命令大全

一、数据库

1、创建数据库
sql 复制代码
create database 数据库名 charset utf8;
2、查看数据库
sql 复制代码
show databases;
select databse();
3、删除数据库
sql 复制代码
drop databse 数据库名;
4、使用数据库
sql 复制代码
use 数据库名;

二、数据表

1、创建表
sql 复制代码
create table 表名(字段名 类型);
2、查看表
sql 复制代码
show tables;
3、修改表
sql 复制代码
alter table 表名 modify 字段名 char(6); # 修改字段数据类型
sql 复制代码
alter table 表名 rename 新表名;  # 修改表名
sql 复制代码
alter table 表名 add 字段名 数据类型;  # 新增字段
sql 复制代码
alter table 表名 drop 字段名;  # 删除字段
sql 复制代码
alter table 表名 chaneg 旧字段名 新字段名 数据类型; #修改字段名
4、查看表结构
sql 复制代码
desc 表名;
5、删除表
sql 复制代码
drop table 表名;

三、数据

1、插入数据
sql 复制代码
insert into 表名(字段名) values(数据)
2、查看数据
sql 复制代码
select 字段名 from 表名;
select * from 表名;
3、修改数据
sql 复制代码
update 表名 set 字段名="";
4、删除数据
sql 复制代码
delete from 表名;

四、数据类型

1、数值类型
类型 大小
int(整数) 4字节
float(浮点数) 4字节
double(浮点数) 8字节
smallint(整数) 2字节
bigint(整数) 8字节
2、日期类型
类型 格式
year YYYY(2014)
date YYYY-MM-DD(2014-12-31)
time HH:MM:SS(11:59:30)
datetime YYYY-MM-DD HH:MM:SS
timestamp YYYYMMDD HHMMSS
3、字符类型
类型 区别
char (定长)处理速度更快
vachar (不定长)存储空间少
4、枚举类型与集合类型
类型 区别
enum(枚举) 在给定范围选一个值
set(集合) 在给定范围选多个值

五、约束条件

1、完整性约束
sql 复制代码
create table students(name char(16),sex not null default '男'); # 如果输入性别为空,则默认为男
2、唯一性约束
sql 复制代码
create table students(id int unique,name char(16) unique); # unqie为唯一,可以有多个
3、主键
sql 复制代码
create table students(id int primary key,name char(16)); # 主键不能为空,且必须唯一
sql 复制代码
create table students(id int ,name char(16),primary key(id,name)); # 联合主键
4、自增
sql 复制代码
create table students(id int primary key auto_increment );
5、外键
sql 复制代码
create table students(id int, name char(6),foreign key(class_id) references class(id));

六、单表记录查询

1、定义显示格式
sql 复制代码
select concat('姓名:',name,'年龄',age)as decs from students;
2、去重
sql 复制代码
select distinct name,age from students;
3、条件约束
sql 复制代码
select * from students where age>=18;  # 单条件查询
select * from students where age>=18 and sex="男"; # 多条件查询
select * from students where age between 18 and 25;  # 范围查询
select * from students where name in ('hhq','zxy'); # 包含查询
select * from students where name like "黄%";  # 模糊查询
4、分组查询
聚合函数 作用
max 最大值
min 最小值
avg 平均值
sum 总值
count 计数
mysql 复制代码
select age,count(age) as '年龄人数' from students group by age;
5、过滤
mysql 复制代码
select age,count(age) as '年龄人数' from students group by age having 年龄人数>25;
6、排序
mysql 复制代码
select age from students order by age asc;  # 升序,默认升序
select age from students order by age desc;  # 降序
7、限数
mysql 复制代码
select * from students limit 10;

七、多表记录查询

1、基础查询(本质)
sql 复制代码
select * from studends,class where students.cls_id=class.id;
2、内连接
sql 复制代码
select * from students inner join class on students.cls_id=class.id;  # 查询2张表的共同部分
3、左连接
sql 复制代码
select * from students left join class on students.cls_id=class.id;  # 以左表为准,查询2张表的共同部分
4、右连接
sql 复制代码
select * from students right join class on students.cls_id=class.id;  # 以右表为准,查询2张表的共同部分
5、外连接
mysql 复制代码
select * from students left join class on students.cls_id=class.id
union
select * from students right join class on students.cls_id=class.id;  #同时以左表和右表为准,查询记录

八、视图

1、创建视图
sql 复制代码
create view 视图名 as select * from students where age>18;
2、修改视图
mysql 复制代码
alter view 视图名 as select * from students where age>20;
3、删除视图
sql 复制代码
drop view 视图名;

九、事务

1、开启事务
mysql 复制代码
start transaction;
2、提交事务
mysql 复制代码
commit;
3、回滚
mysql 复制代码
rollback;

十、索引

1、创建索引
复制代码
create index 索引名 on 表名(字段名);
相关推荐
技术宝哥1 小时前
Redis(2):Redis + Lua为什么可以实现原子性
数据库·redis·lua
学地理的小胖砸2 小时前
【Python 操作 MySQL 数据库】
数据库·python·mysql
dddaidai1233 小时前
Redis解析
数据库·redis·缓存
数据库幼崽3 小时前
MySQL 8.0 OCP 1Z0-908 121-130题
数据库·mysql·ocp
Amctwd3 小时前
【SQL】如何在 SQL 中统计结构化字符串的特征频率
数据库·sql
betazhou4 小时前
基于Linux环境实现Oracle goldengate远程抽取MySQL同步数据到MySQL
linux·数据库·mysql·oracle·ogg
lyrhhhhhhhh4 小时前
Spring 框架 JDBC 模板技术详解
java·数据库·spring
喝醉的小喵5 小时前
【mysql】并发 Insert 的死锁问题 第二弹
数据库·后端·mysql·死锁
付出不多6 小时前
Linux——mysql主从复制与读写分离
数据库·mysql
初次见面我叫泰隆6 小时前
MySQL——1、数据库基础
数据库·adb