MySQL 表结构管理
2020-02-15 10:44
197 查看
数据类型
MySQL数据类型
类型 | 字节数 | 范围unsign |
---|---|---|
tinyint | 1 字节 | (0,255) |
smallint | 2 字节 | (0,65535) |
mediumint | 3 字节 | (0,16777215) |
int | 4 字节 | (0,4294967295) |
bigint | 8 字节 | (0,…) |
MySQL 小数类型
类型 | 字节数 |
---|---|
float | 4 字节 |
double | 8 字节 |
decimal( length , precision ); //用于表示精度确定 length 表示该小数最大位数 precision 表示小数精度 unsigned //无符号关键字
MySQL 日期类型
类型 | 字节 | 格式 |
---|---|---|
date | 3 | YYYY-MM-DD |
time | 3 | HH:ii:ss |
year | 1 | YYYY |
datetime | 8 | YYYY-MM-DD HH:ii:ss |
timestamp | 8 | YYYY-MM-DD HH:ii:ss |
MySQL 复合类型
单选 enum (‘man’,‘female’)
多选 set (‘电影’,‘音乐’,‘足球’)
自增字段: auto_increment
复制一个表结构
create table new_table like old_table; //拷贝表结构 create table new_table select * from old_table; //拷贝表结构 以及 表记录 //以上两种方法 都不能完全复制 表的约束条件,例如:外键约束
修改表结构
修改字段信息
- 删除字段
- 添加新字段
- 修改字段名(或数据类型)
修改约束条件
- 添加约束条件
- 删除约束条件
修改其他选项
这里是引用
修改表名
这里是引用
索引
学习之前我们要回答以下一些问题帮助我们更好的理解:
1. 索引的本质?
索引是数据库表中字段的复制, 该字段称索引关键字。
2. MySQL 中 数据是如何检索的?
查找数据时,先查找关键字,按照关键字定位到初始页,否则,全表检索
3. 一张数据库表只能创建一个索引吗
一个数据库 可以创建多个索引。
**例如:**字典中有拼音索引 和 部首索引
4. 什么是前缀索引
索引中的关键字 是 索引 “关键字” 字段的一个部分。 例如: 教师姓名(例如 “张老师”)中的 “姓”(“张”) 建立前缀索引
5. 索引可以是字段组合吗
可以! 数据表某个索引由多个关键字组成 , 则称 “复合索引”。
注意: 字段必须来自同一张表,,而且必须是相应字段的拷贝,
另外: 数据库为了提高效率, 会对 索引关键字 进行排序。
6. 能跨表创建索引吗
不能
7. 索引数据额外空间
当然需要
对于 InnoDB: 索引数据存放在 外存InnoDB 表空间文件中(可能是共享表空间,也可能是独享表空间)
8. 索引选取原则,什么是主索引,什么是聚簇索引?
主键当索引最好!!!!
9. 索引与数据结构的关系
索引通常使用 平衡树(btree) 或 哈希表 等复杂的数据结构。
10. 同一个表中,索引越多越好吗
如果没有索引 就必须从第一条数据开始查询,甚至读完整个表。有索引 就能更快,并且索引由MySQL自动维护。
索引可以提高效率,但索引是 “冗余数据” ,索引过多会导致在操作数据时,速度降低。
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- Mysql之流程控制语句case
- Mysql之多表查询(连接查询)
- Mysql 之 分组查询
- MySQL 基础知识 增删改查基本操作
- MySQL如何存储图片?---一个向数据库存取image文件的jsp程序
- 《mysql--学习笔记-1.0》
- mysql数据库分区
- Mysql管理总结
- mysql安装
- 【转】图解MySql命令行创建存储过程
- 【转】Mysql的配置文件详解
- 使用dbcp连接mysql
- Ubuntu16.04 install mysql5.X
- mysql的limit功能的实现
- Mysql中查询某一天,某个月,某一年数据
- 4000 如何通过命令行创建和设置一个MySQL用户
- mysql创建和删除表
- 21分钟 MySQL 入门教程
- 如何修改MySQL的默认安装路径
- mysql-奇技淫巧之附属表过滤查询数量