数据表操作 创建数据表
数据库中数据表的名字通常有前缀:取数据库的前两个字母加下划线,易于区分。
普通创建表
基本语法:create table 表名(字段名 字段类型[字段属性],字段名 字段类型[字段属性]…)[表选项]
表必须放在对应的数据库下:有两种方式可以将表挂入到指定的数据库下
1、在数据表名字前面加上数据库名字,用“.”号连接即可。数据库.数据表
2、在创建数据表之前先进入到某个具体的数据库即可:use 数据库名字;
表选项:与数据库选项类似
engine:存储引擎,mysql提供的具体存储数据的方式,默认有一个innodb(5.5之前默认是myisam)
charset:字符集 – 只对当前自己表有效(级别比数据库高)
collate:校对集 –只对当前自己表有效(级别比数据库高)
复制已有表结构
从已经存在的表复制一份(只复制结构,如果表中有数据不复制)
基本语法:create table 新表名 like 表名;//只要使用数据库.表名,就可以在任何数据库下访问其他数据库的表名。
显示数据表每一张数据表创建,那么就会在对应的数据库下创建一些文件(与存储引擎有关)
注意:innodb存储引擎所有文案都存储在外部的ibdata文件
显示所有表
基本语法:show tables;
显示匹配表
基本语法:show tables like ‘匹配模式’;
显示表结构
本质含义:显示表中所包含的字段信息(名字,类型,属性等)
describe表名 [column]; //列名称可以使用通配符
desc 表名
show columns from 表名 [from 表所在的数据库]
或者
show columns from 数据库.表名;
explain table;
显示表创建语句
查看数据表创建时的语句,此语句看到的结果已经不是用户之前自己输入的。系统加工了。
基本语法:show create table 表名;
数据表的多维显示
MySQL中有多种语句结束符
;与\g所表示的效果是一样的,都是字段在上排横着,下面跟着对应的数据。
\G字段在左边竖着,数据在右边横着。
设置表属性表属性指的就是表选项:engine,charset和collate
基本语法:
alert table 表名 表选项 [=] 值;//[=]代表可选参数
注意:如果数据库已经确定了,里面有很多数据了,不要轻易修改表选项(字符集影响不大)
修改表结构修改表名:rename 旧表名 to 新表名;
修改表选项:alter table 表名 表选项 [=] 新值;
新增字段:alter table 表名 add [column] 新字段名 列类型 [列属性] [位置first/after 字段名]
特点:默认加到表的最后面
字段位置:字段想要存放的位置
first:在某某之前(最前面),第一个字段
after 字段名:放在某个具体的字段之后,(默认)
修改字段名:alter table 表名 change 旧字段名 新字段名 字段类型 [列属性] [新位置];
修改字段类型(属性):alter table 表名 modify 字段名 新类型 [新属性] [新位置];
删除字段:alter table 表名 drop 字段名;