MySql简化版指令
2019-12-30 09:56:24 0 举报
AI智能生成
Mysql最常用命令
作者其他创作
大纲/内容
数据类型
数值
TINYINT 1
DECIMAL (x,y)
DOUBLE 8
FLOAT 4
BIGINT 8
INT 4
MEDIUMINT 3
SMALLINT 2
日期
DATA
TIME
YEAR
TIMESTAMP
DATATIME
字符
CHAR
TEXT
VARCHAR
LONGTEXT
DML数据操纵
添加数据
insert into t_xx [字段名] values (数据列表)
insert into t_xx values (数据列表)
insert into t_xx (字段...) values (数据...)
修改数据
update t_xx set 字段名=新值 where
删除数据
delete [from] t_xx where
运算符
ifnull
ifnull (参数1,参数2):=如果1为null返回2,如果1不是null返回1
算数
+
-
*
/
%
比较
=
> >=
< <=
<> !=
逻辑
and
or
not
1=1 1!=1
数据库操作
创建库:create database XX
使用库:use XX
查看当前库和用户:select database();select user()
查看库中的表:show tables
删库:drop database XX
DDL数据定义
创建表:create table t_xx (字段名 数据类型)
添加列:alter table t_xx add 字段名 数据类型
删除列:alter table t_xx drop colum 字段名
修改列/表名:alter table t_xx rename to t_xx2;alter table t_xx change column 字段名1 字段名2 数据类型
删除表: drop table t_xx
**Select 查询
查询列:select 字段1,字段2 from t_xx
列别名:在字段名后面加空格后输入别名 或者用as关键字
常量列:select 字段名1,'常量列' 别名 from t_xx
查询所有:select *from t_xx
between and:在where后使用表示某一特定范围
distinct排重: select distinct 字段名1 from t_xx
in/not in:select *from t_xx where 字段名 in( )
模糊查询:select *from t_xx where 字段名 like
通配符:与like一起在使用 _代表一个%代表任意
排序
升序:select * from t_xx ordey by 字段 asc
降序:select * from t_xx ordey by 字段 desc
多字段:select * from s_emp order by dept_id desc,salary desc,id [asc];
字符函数
length:select length('mysql课程'); 返回:11
char_length:select char_length('mysql课程'); 返回:7
upper:转换大写
lower:转换小写
substr:select substr('1234567890',1,5); 返回:12345
concat:拼接select concat('xx','yy'); 返回:xxyy
replace:替换select replace('我爱你','爱','揍'); 返回:我揍你
instr查找字符串首位置: select instr('java','a'); 返回:2
trim:去除两端空白
round:四舍五入
truncate:截取数字
日期函数
curdate():当前日期
curtime():当前时间
month(x):返回日期中的月份
聚合函数
avg
min
max
sum
count(*)
分组查询
语法:select xx from t_xx where xx group by 字段1 字段2
筛选:select xx from t_xx where xx group by 字段1 字段2 having 条件
***子查询
概念:利用某次查询结果作为本次条件可多次嵌套
语法:select * from student where borndate > ( select borndate from student where studentname = '崔今生' )
in子查询:返回多个结果时
内连接
概念:内连接主要指将满足匹配条件并且每张表中都有的数据内容进行查询的连接机制。
语法: select [表名1.]字段名1, [表名2.]字段名2, ... from 表名1 inner join 表名2
on 连接条件;/select xx from t_xx1 , t_xx2 where
on 连接条件;/select xx from t_xx1 , t_xx2 where
外连接
左外
概念:左外连接主要指将满足匹配条件多张表都有的数据查询出来之后,还要将左表中拥有但右表中没有的数据查询出来的连接机制
语法:select [表名1.]字段名1, [表名2.]字段名2, ... from 表名1 left outer join 表名2 on 连接条件;
右外
概念:右外连接主要指将满足匹配条件多张表都有的数据查询出来之后,还要将右表中拥有但左表中没有的数据查询出来的连接机制。
语法:select [表名1.]字段名1, [表名2.]字段名2, ... from 表名1 right outer join 表名2 on 连接条件;
分页查询
概念:将过多的查询结果在页面分页显示
语法: select 字段名1 [as 别名1], 字段名2 [as 别名2], ... from 表名
limit 初始位置(下标默认从0开始), 记录的条数;
limit 初始位置(下标默认从0开始), 记录的条数;
约束条件
主键约束:主键数据唯一,并且不允许为空
唯一约束:列唯一允许为空
非空:非空
外键约束:用于两表关系,需要指定引用主表
语法:
列级约束:create table t_xx(
字段名 数据类型 约束条件
)
字段名 数据类型 约束条件
)
表级约束:
create table t_xx(
constraint 别名 约束关键字(约束字段),
)
非空约束没有表级约束
create table t_xx(
constraint 别名 约束关键字(约束字段),
)
非空约束没有表级约束
外键约束:外键约束,在MySQL中只能使用表级约束
constraint t_order_uid_fk foreign key(uid) references t_user(id)
constraint t_order_uid_fk foreign key(uid) references t_user(id)
*外键删除:删除主表数据先删除从表的数据删除或者为空
级联操作:删除主表被引用数据时自动删除或者置空从表:on delete set null/cascade
收藏
0 条评论
下一页