MySQL基础之表操作 索引 约束 视图等介绍

表操作

创建表

基本语法:create table [if not exists] tablename(字段列表[索引或约束列表]) [表选项列表] ;

字段设定形式

格式:字段名 数据类型 字段属性1 字段属性2 ……

  • 字段名自定义,需遵守规范
  • 数据类型就是前文介绍的数值型 字符串型 日期时间型
  • 字段属性可以有一个或多个,主要有以下几个
    • auto_increment:适用于整数类型,该字段自增,通常用于主键
    • primary key:设定主键,该字段的值在表中确定唯一一行数据
    • not null:不能为空,如果没有设定,默认为空的
    • unique key:设定该字段是唯一性的,不重复,与primary key的区别为该字段可以为空
    • default:如果没有设置该字段的值,则为默认值
    • comment:该字段的注释说明

创建表示例

这里写图片描述
这里写图片描述

修改表

修改表,指修改表的结构,如同创建表时设定的表结构一样
创建表可以完成的,通过修改表这种方式也可以做到
比如可以对字段进行修改,添加删除修改,对索引进行修改,添加删除,对表选项进行修改,即使创建的时候不设置表选项值,一般也有其默认值

添加字段
  • 语法:alter table table_name add column 新字段名 新字段类型 新字段属性
  • 示例如下
    这里写图片描述
修改字段(可改名)
  • 语法:alter table 表明 change column 旧字段名 新字段名 新字段类型 新字段属性
  • 示例如下
    这里写图片描述
删除字段
  • 语法:alter table 表名 drop column 字段名
  • 示例如下
    这里写图片描述
添加普通索引
  • 语法:alter table 表名 add key索引名
  • 示例如下
    这里写图片描述
添加主键索引(约束)
  • 语法:alter table 表名 add primary key(字段名)
  • 示例如下
    这里写图片描述
添加唯一索引(约束)
  • 语法:alter table 表名 add unique key(字段名)
  • 示例如下
    这里写图片描述
修改表名
  • 方式一:
    • 语法:alter table 表名 rename to 新表明
    • 示例如下这里写图片描述
  • 方式二:
    • 语法:rename table 表名 to 新表名
    • 示例如下
      这里写图片描述

删除表

  • 语法:drop table if exists 表名
  • 示例如下
    这里写图片描述

表相关其它操作

显示当前数据库所有表
  • 语法:show tables;
  • 示例如下
    这里写图片描述
查看表结构
  • 语法:desc 表名
  • 示例如下
    这里写图片描述
查看表的创建语句
  • 语法:show create table 表名
  • 示例如下
    这里写图片描述
从已有表复制表结构
  • 语法:create table if not exists 新表名 like 旧表名
  • 示例如下
    这里写图片描述

索引

索引可以理解为数据库内部维护的一张隐藏的表,我们可以为表中的某一个或多个字段创建索引,数据库会对这个字段的所有数据进行预先的某种 排序,这样会大幅提高查询效率,但要考虑增删改带来的负担。
数据库管理系统会创建并维护一个和当前表关联的“索引表”。
索引主要分为普通索引 主键索引 唯一索引 全文索引 外键索引五种

普通索引

形式:key(字段名)
就是一个索引,没有其他作用,加快查询速度

主键索引

形式:primary key(字段名)
是一个索引,同时该字段的值还能唯一确定表中的一行数据,不可重复

唯一索引

形式:unique key(字段名)
是一个索引,并且该字段的值是唯一的,允许为空

全文索引

形式:fulltext(字段名)

外键索引

形式:foreign key(字段名) reference 其他表中的字段名
外键就是表中的某个字段,其值必须为另一个表中的某个字段值,不可以随意插入

示例

这里写图片描述
这里写图片描述

表选项

表选项就是指创建表的时候对表的整体设定
主要有如下几个:
- charset:指定表中数据存储的字符集,默认情况使用数据库的编码集
- engine:数据存储引擎,也叫表类型
- 指将数据存储到硬盘上的机制,一般有两个大层面,一个尽可能速度快,另一个尽可能功能多
- 主要有InnoDB MyIsam BDM MEMORY等,默认是InnoDB这里写图片描述
- auto_increment:指定表中字段为auto_increment的id值起始值
- comment:表的注释说明

约束

顾名思义,就是指数据满足指定的条件才可以被正确的写入
主要有如下几种约束:

  • 主键约束:
    • 形式:primary key(字段名)
    • 释义同主键索引
  • 外键约束:
    • 形式:foreign key(字段名) references 其他表中的字段
    • 释义同外键索引
  • 唯一约束:
    • 形式:unique key(字段名)
    • 释义同唯一索引
  • 默认约束:
    • 形式:default 值
    • 次约束只能创建表的时候写在字段属性上
  • 非空约束:
    • 形式:not null
    • 指创建表时的not null属性
  • 检查约束:
    • 形式:check(判断语句)
    • 如:create table user(id int , age int,check(age>10 and age<88))

主键约束 唯一约束 外键约束和其对应的索引,都是同一件事情,两个名字而已。

视图

视图含义

同函数的含义差不多,函数是指将一段代码封装起来,并为之命名,以后用的时候,直接使用该函数名即可
视图也如此,只不过他是将一个select语句封装起来,给其起一个名字,这个名字就是视图名,以后执行这段语句,直接使用视图就可以了

创建视图

语法:create view 视图名 [(字段名1,字段名2 ……)] as select语句
示例如下:
这里写图片描述

使用视图

创建好的视图可以直接当做表来使用,如下:
这里写图片描述

删除视图

同删除表一样,如下:
这里写图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值