数据表操作
创建数据表
普通创建表
基本语法:create table 表名(字段名 字段类型[字段属性],字段名 字段类型[字段属性], .....)[表选项];
表必须放在数据库下,两种方式将表放在指定数据库下
1. 在数据表名字前面加上数据库名字,用“.”连接 数据库.数据表
create table mydatabase.class(name varchar(10));
2.在创建数据表前进入到某个具体数据库 use 数据库名字;
;
create table newtable(name varchar(10));
默认创建到当前所在数据库
表选项,与数据库选项类似
engine:存储引擎,MySQL提供的具体的存储数据方式,默认innodb(5.5以前默认myisam)
charset:字符集,只对当前自己表有效(级别比数据库高)
collate:校对集,只对当前自己表有效
复制已有表结构
从已经存在的表复制(只复制结构,表中有数据不复制)
基本语法:create table新表名 like 表名; 只要使用数据库.表名,就可以在任何数据库下访问其他数据库的表名
use test;(进入test数据库)
create table teacher like mydatabase.teacher;
alter user ‘root’@’localhost’ identified with mysql_native_password by ‘password’
显示数据表
.frm文件代表结构文件(结构文件来自于innodb存储引擎)
ibdata存储所有innodb存储引擎所对应的表数据
显示所有表
基本语法:show tables;
匹配显示表
基本语法:show tables like ‘匹配模式’;
show tables like’c%’;
显示表结构
本质含义:显示表中包含的字段信息(名字,类型,属性等)
describle 表名
desc 表名
show columns from 表名
显示表创建语句
查看数据表创建时的语句(看到的语句已经不是用户之前输入的)
基本语法:show create table 表名;
mysql结束语句
;
\g (前两个字段在上排横着,下面跟对应的数据)
\G (字段在左侧,数据在右侧)有时候更直观
设置表属性
表属性指的就是;engine引擎 ,charset字符集 , collate校对集
基本语法:alter table 表名 表选项 [=]可有可无 所做的修改;
注意:如果数据库已经-确定了,里面有很对数据了,不要轻易修改表选项(字符集影响不大)
修改表结构
修改表名:rename table 旧表名 to 新表名; (数据库中数据表名字通常有前缀,取数据名前两个字母加下划线 例:my_表名)
修改表选项:alter table 表名 表选项 [=] 新值;
新增字段:alter table 表名 add [column] 新字段名 列类型[列属性] [位置first/after 字段名] (默认加到表的最后面)
字段位置:字段想要存放的位置。
first:在某某之间(最前面),第一个字段
after 字段名:放在某个具体的字段后(默认的)
修改字段名
alter table 表名 change 旧字段名 新字段名 字段类型[列属性] [位置属性] (修改名字需要修改字段类型)
修改字段类型(属性):
alter table 表名 modify 字段名 新类型 [新属性] [新位置]
删除字段:alter table 表名 drop 字段名;
删除表结构
基础语法:drop table 表名[,表名2....]; 可同时删除多个表