数据表操作
创建数据表
普通创建表
基本语法: create table 表名(字段名 字段类型 [字段属性],字段名 字段类型 [字段属性],... ) [表选项];
-- 创建数据表
create table class(
-- 字段名 字段类型
-- 字段与表其实是分不开
name varchar(10) --最大10个字符
);
红框提示错误:没有选择数据库.
以上错误说明:数据表必须放到对应数据库中,有两种方式:
1.在数据表前加上数据库名字,用英文小数点"."号连接即可,即 数据库.数据表
代码演示了在已存在的数据库mydatabase2中创建数据表class.
2. 在创建数据表之前,进入到数据库中即可,使用 use语句
以上代码首先使用use语句选择数据库mydatabase2,然后在默认数据库(即mydatabase2数据库)中创建表teacher.
表选项
engine:存储引擎,mysql提供具体数据的方式,默认有一个innodb(5.5以前默认是myisam)
charset:字符集/只对当前自己表有效.(级别比数据库高)
collate:校对集/只对当前自己表有效.(级别比数据库高)
表选项引擎可选择innodb或者myisam
复制已有表结构
从已经存在的表复制一份结构(不含数据)
基本语法:create table 新表名 like 数据库.旧表名;
显示数据表
每当一张数据表创建,那么就会在对应的数据库下创建一些文件(与存储引擎相关).
注意:这个结构文件来自于innodb存储引擎.innodb存储引擎所有文件都存储在外部的ibdata文件中.
显示所有表
基本语法:show tables;
匹配显示表
基本语法:show tables like '匹配模式';
以上演示show tables和show tables like...的区别
显示表结构:
本质含义:显示表中所有字段信息(名字,类型,属性等)
describe/desc 表名
show columns from 表名
显示表创建语句
基本语法:show create table 表名;
mysql中有多种语句结束符
;和\g效果相同
\G 字段在左侧竖着 数据在右侧横着.
设置表属性
表属性就是表选项:engine, charset, collate.
基本语法:alter table 表名 表选项[=]值;
- 修改已有表的存储引擎: alter table 表名 engine=innodb;
- 修改已有表的字符集:alter table 表名 charset=utf8;
注意:如果数据库已经确定,里面有很多数据,不要轻易修改表选项(只有修改字符集影响不大)
修改表结构
修改表名:
rename table 旧表名 to 新表名;
修改表选项:
alter table 表名 表选项[=]值;
新增字段:
alter table 表名 add [column] 新字段名 列类型 [列属性] [位置 first/after 字段名]
字段位置:first:第一个字段; after 字段名:放置在某字段名之后.
如上代码在首位插入字段id(int类型).
修改字段名
alter table 表名 change 旧字段名 新字段名 字段类型 [列属性] [新位置]
如上代码,修改字段名时必须指定字段类型,否则会出错而修改失败!
修改字段类型(属性):
alter table 表名 modify 字段名 新类型 [新属性] [新位置];
删除字段:
alter table 表名 drop 字段名;
删除表
drop table 表名1[,表名2,表名3...];