mysql 内容
DDL
DDL:Data Definition Language,数据定义语言
主要是用来定义和维护数据库的各种操作对象,比如库、表、索引、视图
也可以说,操作的层次是在数据库的库和表的逻辑结构和存储结构上面,并没有对表中的实际的数据进行操作(增删改查)!
主要的操作关键字有:create、drop、alter
DML
DML:Data Manipulation Language,数据操作语言
主要是对表中的记录进行增删改查的操作!
其中,“查询”部分,有可以叫作DQL
DQL:Data Query Language,数据查询语言!
关键字:select
DCL
DCL:Data Control Language,数据控制语言
主要是对数据库进行统一管理和统一控制,比如并发控制,存取控制,安全控制等;具体的有数据库的权限管理(创建用户,给用户分配权限,回收权限等),数据的备份与恢复等!
create ()增
create database 数据库名[数据库选项]
set names gbk; 设置了,写文字不会出现乱码
show ()查 查看当前有哪些数据库
show databases;
drop()删
drop database;
alter()改
alter database;
use 库名;
create table 表名 (字段1 字段1类型)
创建一个数据表
show tables 查
查看数据表
like 模糊查询
desc 表名;
describe 表名;
查看表的结构
drop table 表名;
删除数据表
dorp table if exists 表名;
完整的删除语法
show create table 表名;
查看表的创建语句
alter table 表名;
修改表名;
alter table 旧表名 rename to 新表名;
rename table 旧表名 to 新表名;
alter table 表名 add 新表名 字段类型;
增加一列
alter table 表名 drop 字段名;
删除一列
alter table 表名 modify 字段名 新的数据类型;
修改字段类型
alter table 表名 chenge 原字段名 新字段名 新字段类型;
重名名字段
alter table 表名 表选项信息;
修改表选项
insert into 表名(字段列表)values(值列表);
插入数据
select * from 表名;
查询语句
delete from 表名[删除条件];
删除数据
update 表名 set 字段1=新值1....[修改条件];
修改数据
校对规则:
校对规则就是指当对字段进行排序的时候,先后次序的问题!校对规则就是排序规则!
语法:
所有的校对规则都是基于字符集的!也就是说,不同的字符集有不同的校对规则!
我们可以通过show collation命令来查看所有的校对规则
collate 校对规则名字;
ci结尾的:不分区大小写
cs结尾的:区分大小写
bin结尾的:二进制编码进行比较
再次强调:不同的字符集有不同的校对规则,不指定的话,按默认的规则(一般就用默认)!
还有,utf8不支持中文排序,但是gbk支持
在MySQL中,也有三大数据类型:数值型、字符串型和日期时间型
浮点数
分成了单精度型和双精度型!其中单精度占4个字节,而双精度占8个字节!
所以,单精度的有效位在6-7位之间,而双精度的有效位在16-17位之间!
所以,我们在插入浮点数的时候也要注意,有时候没有超过浮点数的范围,但是超出了浮点数的精度!
此外,我们还需要注意以下的几点:
1,浮点数还支持控制数字的范围,语法形式为:
type(M,D)这里的type是指float或double!
M:表示是所有数值位的范围(包括整数和小数部分,不包括小数点)
D:表示小数的位数的范围,小数超出的部分会四舍五入
定点数
定点数策略:
每当出现连续的9位数的时候,用4个字节单独存储,而且整数部分和小数部分分开存储!
关键字:decimal
定点数优缺点:
优点:所有的数据都会被精确的存储,不会造成数据的丢失!
缺点:占用的空间较大
几点需要注意的地方:
1,decimal同样支持decimal(M,D)语法
此时,M指的是总位数,D代表小数的位数,默认的情况下,M为10,D为0
decimal同样也支持zerofill语法