1.数据表操作
1.创建数据表
基本语法:create table 表名(字段名 字段类型[字段属性],字段名 字段类型[字段属性],......)
[表选项]
应先选择数据库,再创建表
数据表名前缀通常为数据库前两位字母加上下划线,易于区分
1. 将表放入指定数据库方式:
- 在表名前加上数据库名,用’.'连接即可:数据库.数据表
如:
varchar(10):不能超过10个字符 - 在创建数据表前先进入某个具体的数据库:
use 数据库名;
如:
默认创建到当前所在数据库
2. 表选项
与数据库选项类似
engine:存储引擎,mysql提供的具体存储数据的方式,默认为innodb(5.5以前默认为myisam)
charset:字符集,只对当前自己表有效(级别比数据库高)
collate:校对集,同字符集
表选项的使用:
3. 复制已有表结构
从已经存在的表复制一份(只复制结构:不复制数据)
基本语法:create table 新表名 like 表名;
只要使用数据库.表名,就可以在任何数据库下访问其他数据库的表名
2. 多维度显示表
每创建一张表,都会在对应的数据库下创建一些文件(与存储引擎有关)
data文件下的 ibdata1 文件专门存储所有innodb存储引擎对应的表数据
1.显示所有表
基本语法:show tables;
2.匹配显示表
基本语法show tables like '匹配模式'
匹配模式与数据库匹配相同
3. 显示表结构
本质含义:显示表中所包含的字段信息:名字,类型,属性等。
- describe 表名
- desc 表名
- show columns from 表名
Type:字段类型
Null:值是否允许为空
Key:表示索引
Default:默认值:null表示默认为null
Extra:额外的属性
4. 显示表创建语句
查看数据表创建时的语句:此语句看到的结果已经不是用户当初输入的。
基本语法:show create table 表名;
mysql中有多种语句结束符:
;和\g所表示的效果相同:都是在上排的数据横着,下面跟对应的数据
\G:字段在左侧竖着,数据在右侧横着
3.多维度修改表
1.设置表属性
表属性指的是表选项:engine,charset,collate
基本语法:alter table 表名 表选项 值;
注:如果数据库已经确定有很多数据,不要轻易修改表选项(字符集影响不大)
2.修改表结构
- 修改表名:
rename table 旧表名 to 新表名;
- 修改表选项:
alter table 表名 表选项 新值;
- 新增字段:
alter table 表名 add[column] 新字段名 列类型 [列属性] [位置 first/after 字段名];
first : 在某某之前(最前面),第一个字段
after 字段名 :放在某个具体的字段之后 - 修改字段名:
alter table 表名 change 旧字段名 新字段名 字段类型 [列属性] [新位置;]
字段类型必须加,不会沿用原本字段类型 - 修改字段类型(属性):
alter table 表名 modify 字段名 新类型 [新属性] [新位置];
- 删除字段:
alter table 表名 drop 字段名
3. 删除表名
基本语法:drop table 表名[,表名2,......]
表名可以同时删除多个,数据库不行