mysql基础

1. 数据库的操作

1.1 创建数据库

1.2 删除数据库

1.3 查看数据库

1.4 选择数据库

1.5 修改编码

2. 数据表的操作

2.1 查看数据表

2.2 创建数据表且创建字段

2.3 查看表的结构

2.4 修改表名

2.5 删除表

 

3. 字段的操作

数据类型

数值

类型解释字节
tinyint十分小的数据1个字节
smallint较小的数据2个字节
mediumint中间的3个字节
int标准的整数4个字节
bigint较大的数据8个字节
   
float浮点数4个字节
double浮点数8个字节
decimal字符串形式的浮点数 

字符串

类型解释字节
char固定大小的字符串0-255
varchar可变字符串0-65535
tinytext微型文本2^8-1
text文本串2^16-1

时间日期

类型解释格式
date日期YYYY-MM-DD
time时间HH:mm:ss:
datetime结合YYYY-MM-DD HH:mm:ss:
timestamp时间戳1970.1.1但现在的毫秒数
year 

null

字段约束与属性

名称关键字说明
非空NOT NULL不能为空
默认DEFAULT默认值
唯一的UNIQUE KEY唯一的
主键PRIMARY KEY 
外键FOREIGN KEY两表之间建立连接
自增AUTO_INCREMENT自增
   
注释COMMENT注释

3.1 添加字段

3.2 删除字段

3.3 修改字段名称

3.4 修改字段约束或属性

3.5 添加主键(联合主键)

可以这么理解,比如,你的订单表里有很多字段,一般情况只要有个订单号bill_no做主键就可以了,但是,现在要求可能会有补充订单,使用相同的订单号,那么这时单独使用订单号就不可以了,因为会有重复。那么你可以再使用个订单序列号bill_seq来作为区别。把bill_no和bill_seq设成联合主键。即使bill_no相同,bill_seq不同也是可以的。

3.6 添加主键

3.7 添加外键

【强制】不得使用外键与级联,一切外键概念必须在应用层解 ----阿里巴巴java开发手册

绑定外键后无法将表删除,需要先把被引用的表删除后才可删除

 

4. 数据管理语言(DML)

4.1 增加数据 insert

4.2 修改数据 update

4.3 删除数据库 delete与TRUNCATE

4.3 查

没有在介绍中提出是因为查有专门的数据库语言,这里写出只为学习中测试

4.4 将查询结果插入新表

写入到已创建新表

创建并写入

5.MYSQL查询语言(DQL)

关键字:select

5.1 查询某个表中的内容

5.2 查询表中指定内容

5.3 别名

5.4 去重 DISTINCT

5.5 筛选 WHERE 表达式

5.6 排序

5.7 分页查询(偏移查询)

5.8 分组查询

5.9 运算符

尽量使用英文

逻辑运算符:

符号语法解释
and &&a and b都为真即为真
or ||a or b或者
not !not a=b如果不

算数运算符

运算符作用
+加法
-减法
*乘法
/ 或 DIV除法
% 或 MOD取余

 

比较运算符

符号描述备注
=等于 
<>, !=不等于 
>大于 
<小于 
<=小于等于 
>=大于等于 
BETWEEN在两值之间>=min&&<=max
NOT BETWEEN不在两值之间 
IN在集合中 
NOT IN不在集合中 
<=>严格比较两个NULL值是否相等 
LIKE模糊匹配 
REGEXP 或 RLIKE正则式匹配 
IS NULL为空 
IS NOT NULL不为空 

5.10 模糊查询

1. 区间查询

2. 非(不等于)

3. 其中一个字查询

4. 查询空的

5.

 

5.11 mysql中常见的函数

名称作用
AVG()取平均值
COUNT()取行数,有多少行
MAX()取最大值
MIN()取最小值
SUM()求和
  
CONCAT(str1,str1...)字符串连接
INSERT(str,pos,len,newstr)SELECT INSERT( '12345',2,2,'66');返回:166345
LOWER(str)将字符串转为小写
UPPER(str)将字符串转为大写
SUBSTRING(str,num,len)SELECT SUBSTRING('12345',2,2); 返回:23
  
CURDATE()获取当前日期
CURTIME()获取当前时间
NOW()获取当前日期和时间
WEEK(date)返回日期date为一年中的第几周
YEAR(date)返回日期date的年份
HOUR(time)返回时间time的小时值
MINUTE(time)返回时间time的分钟值
DATEDIFF(date1,date2)返回日期参数date1和date2之间相隔的天数
ADDDATE(date,n)计算日期参数date加上n天后的日期
  
CEIL(x)返回大于或等于数值x的最小整数
FLOOR(x)返回小于或等于数值x的最大整数
RAND()返回0~1间的随机数