Mysql学习--02.表结构管理

版权声明:转载请注明原始链接 https://blog.csdn.net/sswqzx/article/details/82720704

学习目标:

Mysql数据类型
创建表
表结构操作
一、Mysql数据类型
1、-字符型
char(M) 定长字符串、M取值范围为0-65535
varchar(M) 变长字符串、M取值范围为0-65535
tinytext 字符串,最大可存255个字符
TEXT[(M)] 字符串,最大可存65535个字符
mediumtext 字符串,最大可存2^24-1个字符
LONGTEXT 字符串,最大可存2^32-1个字符
ENUM(‘value1’,’value2’,…) 枚举
SET(‘value1’,’value2’,…) 集合
2、-数字型
tinyint[(M)] 1B 整型
smallint[(M)] 2B 整型
MEDIUMINT[(M)] 3B 整型
int[(M)] 4B 整型
bigint[(M)] 8B 整型
float(M,D) 4B 单精度浮点数
double(M,D) 8B 双精度浮点数
DECIMAL(M,D) 定点小数
3、-时间日期型
datetime 日期时间
date 日期
time 时间

二、创建表
1、mysql>use 数据库名;
mysql>create table 表名 (
->列名 数据类型 [属性/约束],
……
->) [表属性];
属性/约束:
null 允许取null值
not null 不允许取null值
default 值 指定列的默认值
primary key 主键
check (条件表达式) 限制列的取值范围
UNSIGNED 作用数字型列上,限制列为无符号数
FOREIGN KEY(外键名) REFERENCES 表名 [(列名,…)] 外部键
index 索引名 定义索引
表属性:
ENGINE|TYPE= 引擎名 指定表的存储引擎的类型
实例:mysql>use db1;
mysql>create table info (
->uid varchar(5) primary key,
->uname varchar(30) not null,
->password varchar(10) null);
注:每个表都对应三个文件,分别结构文件.frm,数据文件.MYD和索引文件*.MYI
2、 索引管理
(1) 什么是索引
-索引是将表中特定列的数据单独存储,并排序
-索引数据会指向数据表中的相应记录
-索引可以提高数据的查询速度,但会降低数据更新操作的速度
-索引不是越多越好,一般主要利用不重复,且经常查询的列来定义索引
(2) 索引的分类
-主键索引
-唯一索引
-普通索引
(3) 索引的管理操作
-创建索引
mysql>create [unique] index 索引名 on 表名 (列名 [DESC/ASC],…n);
实例: mysql>create index name_index on info (name);
-查看索引
mysql>show index from 表名;
-删除索引
mysql>drop index 索引名 on 表名;
3、删除表
Drop table 表名;

三、表结构操作
1、添加列:alter table 表名 add 列名 列的类型 列的约束
2、删除列:alter table 表名 drop 列名
3、修改列:alter table 表名 modify 列名 列的类型 列的约束
4、修改列名:alter table 表名 change 旧列名 新列名 列的类型 列的约束
5、修改表的字符集:alter table 表名 character set 字符集
6、修改表名:rename table 旧表名 to 新的表名
7、查看表:(1)、show tables ; 查看当前数据库中所有的表名
(2)、show create table 表名: 查看建表语句及字符集
(3)、desc 表名 : 查看表的结构
(4)、show columns from 表名;查看表的列信息

猜你喜欢

转载自blog.csdn.net/sswqzx/article/details/82720704