第03章 MYSQL语言基础介绍
一、DML数据操纵语言,手工提交执行
--经常使用
insert插入
delete删除
update修改
select查询
--非经常使用
call
merge
二、DDL数据定义语言,系统自动提交。
create创建
alter修改
drop删除,删除表及所有数据
truncate清空,删除表中所有行但不删除表。
--非经常使用
analyze
associate statistics
audit
comment
disassociate statistics
flashback
grant
noaudit
purge
rename
revoke
undrop
三、DCL权限控制语言,用来设置或更改数据库用户或角色权限的语句
grant授权
revoke取消授权
四、TCL事务控制语言,用于数据库事务管理
commit提交
savepoint设置保存点
rollback回滚
start transaction开始事务
五、MYSQL数据库对象及关系
5.1 MYSQL数据库对象有哪些:
数据库/模式(DataBase/Schema):多数据库,业务和资源隔离。MYSQL两者为一体,ORACLE两者不同;
table表
index索引
view视图
constraint约束
trigger触发器
function函数
procedure存储过程
5.2数据库对象之关的关系
mysql,库,表,行列,主键、其他;
数据库/模式(DataBase/Schema)保存有组织的数据的容量。
表(table)莫种特定类型数据的结构化清单。
列(column)表中的一个字段。所有表都是由一个或多个列组成的。
行(row)表中的一个记录。
主键(primary key)一列(或一组列),其值 能够唯一区分表中每个行。
要求:
任意现行都不具有相同的主键值;保障数据唯一性。
每个行都必须有一个主键值(主键列不允许NULL值 );
六、数据类型介绍
---建表时定义字段的,默认为有符号;
--unsigned:定义时增加为无符号;
--zerofill:用来进行前导零填充;如001,用二个零填充;有此值,代表就是无符号型.
--M:取值范围,int(5),此类型最长10位,此处定义最长为5位.
GDB格式,一个字符占二个字节; UTF-8一个字符占三个字节。
6.1 数值类型
--整数型
*Int/Integer
Timyint
Smallint
Mediumint
Bigint
--小数型
-定点
*Decimal(变长)
Numeric
-浮点
Float
Double
-位值
Bit
6.2 日期类型
*Timestamp
Date
Datetime
Time
Year
6.3字符串类型
*Varchar(变长)
Char(定长)
Binary(视频、照片等二进制文件存储,在数据库中无法查看,通过应用软件查看)
Varbinary
Blob
Text
Enum(权举,用于投票类)
Set(集合)
总结:关于char,varchar,text的选用总结
01.经常变化 的字段用varchar
02.知道固定长度的用char
03.能用varchar尽量用varchar
04.超过255字符的只能用varchar或text
05.能用varchar的地方,就不用text.
6.4空间数据类型(几何和地理)
Geometry(任何类型)
Point(一对X-Y坐标)
Linestring(曲线)
Polygon(多边形)
6.5Json数据类型(文档类)
-----案例1: 无参数控制
create table itpux01(id01 tinyint,id02 int);
select * from itpux01;
dese itpux01;
七、数据类型的属性,建表时,需要知晓的属性。
NULL 数据列可包含NULL值
NOT NULL 数据列不允许包含NULL值
DEFAULT 默认值
PRIMARY KEY 主键
AUTO_INCREMENT 自动递增,适用于整数类型。
UNSIGNED 无符号
CHARACTER SET name 指定一个字符集;