首页 > 代码库 > mysql 内容

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语法

 

mysql 内容