MySQL数据表操作
创建数据表
普通创建表
语法:create table 表名(字段名 字段类型 [字段属性],字段名 字段类型 [字段属性] ,...)[表选项] ;
create table class(
name varchar(10)
);
表必须放在指定数据库下,所以要用以下方案:
方案1、在数据表名字前面加上数据库名字,用“ . " 连接即可:数据库 . 数据表
create table mydatabase.class(
name varchar(10)
);
方案2、先进入到某个具体的数据库,再创建数据表(需要一起执行)
use mydatabase;
create table class(
name varchar(10)
);
表选项:与数据库选项类似
engine:存储引擎,MySQL提供的具体存储数据的方式,默认有一个innodb(5.5以前默认是myisam)
charset:字符集,只对当前自己表有效(级别比数据库高)
collate:校对集
表选项用法:
create table student(
name varchar(10)
)engine innodb charset utf8;
复制已有表结构
从已经存在的表复制一份(只复制结构:不复制表中数据)
基本语法:create table 新表名 like 表名; //只要使用数据库.表名,就可以再任何数据库下访问其他数据库的表名。
use mydatabase2;
create table teacher like mydatabase.teacher;
显示数据表
每当一个数据表被创建,那么就会在对应的数据库下创建一个文件(文件数量与存储引擎有关)
这个结构文件来自于innodb存储引擎
显示所有表
语法: show tables;
匹配显示表
语法: show tables like'匹配模式'; (与数据库的匹配模式相同)
show tables like 'c%'
显示表结构
访问表中所包含的字段信息(名字、类型、属性等)
describe 表名
Desc 表名
show columns from 表名
显示表创建语句
查看数据表创建时的语句:此语句看到的结果已经不是用户之前自己输入的。
语法:show create table 表名;
MySQL中有多种语句结束符
;与\g:作用效果相同,字段在上侧,数据在下面;
\G :字段在左侧,数据在右侧;
show create table class\G
设置表属性
指的就是表选项:engine,charset,collate
基本语法:alter table 表名 表选项 值;
alter table class charset utf8;
注意:如果数据库已经确定,里面含有许多数据,不要轻易修改表选项。
修改表结构
修改表名: rename table 旧表名 to 新表名;
rename table student to my_student;
修改表选项:alter table 表名 表选项 值;
新增字段:alter table 表名 add [column] 新字段名 列类型 [列属性] [first / after字段名];
alter table my_student add column age int;
字段位置,字段想要存放的位置
First:在某某之前(最前面),第一个字段
after 字段名:放在某个具体的字段之后(默认)
alter table my_student add id int first;
修改字段名:alter table 表名 change 旧字段名 新字段名 字段类型 [列属性] [新位置];(不会默认继承原字段类型,必须设置)
alter table my_student change age NJ int;
修改字段类型(属性):alter table 表名 modify 字段名 新类型 [新属性] [新位置];
alter table my_student modify name varchar(20);
删除字段:alter table 表名 drop 字段名
alter table my_student drop nj;
删除表结构:drop table 表名[,表名2,...];(可以同时删除多个数据表)
drop table class;