数据类型
数据类型 | 含义 |
---|---|
tinyint | 短整型 |
int | 整型 |
bigint | 长整型 |
double | 双精度浮点型 |
float | 单精度浮点型 |
decimal | 指定长度和小数的位数 |
char | 固定长度字符串 |
varchar | 不固定长度字符串 |
date | 日期 |
time | 时间 |
datetime | 日期和时间 |
timestamp | 毫秒数(从1970年1月1日算起) |
约束
对字段进行限制
约束名 | 效果 |
---|---|
not null(非空约束) | 字段值不能为空 |
primary key(主键) | 非空加唯一 |
unique(唯一) | 值唯一,但是可以为空 |
foregin key reference | 外键,该字段值与外部的字段进行连接,字段值只能来自连接的字段 |
default(默认值) | 当表值为default或者null时,将填入默认值 |
mysql支持的sql语句
create
创建表和数据库
--建立数据库
create database 数据库名;
--建表
create table 表名(
字段名1 类型名 [其他修饰],
字段名2 类型名 [其他修饰],
字段名3 类型名 [其他修饰],
约束。。。。
);
insert
insert into 表名[(字段1,字段2....)] values(字段1对应的值,字段2对应的值...)[,(插入的第二条数据)];
delete
删除表的数据,如果要删除表要使用 drop
delete from 表名 [条件]
update
update 表名 set 字段1=值1,字段名2=值2...[条件];
select
select 字段名1,字段名2.... from 表名 [条件]
。。。。
条件限制
(1)where
判断条件是否相同等,但无法使用聚合函数
表(查询,删除,更新等)语句 where 条件(如字段1=值)。
(2)group by
将相同的 字段值 的数据进行分组
查询语句 where 分组前的数据条件判断 group by 字段 having 分组后的数据条件判断
(3)having
相比于where是对于分组后的数据进行判断的
(4)limit
限制起始位置以及查询记录的个数
查询语句 limit 起始位置(从0开始) 选取的条件个数
(5)in
判断是否在集合中
where[having] in(集合 如 1,2,3,4,5)
(6)between and
判断是否在两值之间
语句 where[having] between 起始值 and 结束值(是闭区间)
(7)is null ,is not null
专门判断是否为空值
聚合函数
统计函数
count 统计个数
avg 统计平均值
max 统计最大值
min 统计最小值
数学相关
round 四舍五入
ceil 向上取整
floor 向下取整
abs 绝对值
pow 幂计算
sqrt 开方
字符串相关
trim 去除两段空格字符
length 字符串长度
substr 截取字符串
icase 字母全变成小写
ucase 字母全变成大写
reverse 翻转
contact 拼接两字符串
连接
用于两表或者多表查询 包含情况如图
查询语句 [inner,left,right,或者不填]join 另一张表名 on 两表关联字段关系;
[inner] join on(内连接)
内连接取得是两个表的交集
left join on(左连接)
内连接取得是两个表的所有左表的数据
right join on(右连接)
内连接取得是两个表的所有右表的数据