数据表都属于某一个具体的数据库,所以有关数据表的任何操作,都需要选择默认的数据库。
有两种方式:
1.显示的指定数据库
就是在任何有关表操作的时候,把表的前面加上一个库名,形式为 :库名.表名
eg : create table db_test.tbtest( name varchar(20) );
2,选择默认的数据库
也是最常用的方法,就是事先进入到某个数据库的操作环境:use 库名;
(选择了默认的数据库,只会影响默认的操作,但是一样可以操作其他任意的数据库。)
创建数据表(增)
表不能脱离字段存在,字段也不能脱离表存在,所有的表操作都是表和字段同时进行!
创建表语法:
create table 表名(字段1 字段1类型,字段2 字段2类型……)[表选项]
注意:
1.每个字段都必须规定字段类型。字段名与字段类型之间以空格分隔
2.字段与字段之间用逗号分开,但最后一个字段不能有逗号
3.表选项可以规定表的字符集和存储引擎
create table test( name varchar(20), age tinyint unsigned, story text );
创建数据表的其他语法:
create table tb_name2 like tb_name1;
可以快速的复制另一张表的表结构,但是不能复制表的数据。
查看数据表(查)
查看当前库中有哪些数据表: show tables; 还可以模糊查询,查看以test_开头的所有表:show tables like ‘test_%’;
这里的%和_都是MySQL中的通配符
%:可以代表任意的字符(其中包括0个)
_:可以代表任意的单个字符
查看表的创建语句: show create table 表名; 查看表的结构: describe 表名; 一般可以写成: desc 表名;
删除数据表(删)
drop table 表名;
如果删除了一个不存在的表,会报错,所以,还有一个比较完整的语法形式:
drop table if exists 表名;
加上if exists判断之后,在删除表之前会进行一次判断,如果该表不存在,既不执行也不报错。
修改数据表(改)
数据表中有哪些是可以修改的? 表名、表选项、列定义(字段名、字段类型、增加字段、删除字段、修改字段排序等
修改表名
alter table 表名 to 新表名; or rename table 表名 to 新表名;
也可以一次更改多个表名,中间以逗号分隔;
我们可以利用rename将一个数据库的数据表移到到另一个数据库下
将表hero移动到 数据库test下,并改名he: rename table hero to test.he;
修改列定义
可以分成很多种操作,常见的有增加字段,删除字段,重命名字段,修改字段数据类型,修改字段的排序
增加字段 默认的,新增的字段都是排在最后,但是也可以自己选择位置:
新增一个字段放在表的最前面: alter table hero add 字段名 varchar(20) first; 新增一个字段放在表的某字段之后: alter table hero add 字段名 varchar(20) after 另一字段名;
删除字段
alter table 表名 drop 字段名;
修改字段类型
alter table 表名 modify 字段名 新字段类型;
修改字段排序
修改一个字段放在表的最前面: alter table hero modify 字段名 字段类型 first; 修改一个字段放在表的某字段之后: alter table hero modify 字段名 字段类型 after 另一字段名;
重命名字段
alter table 表名 change 原字段名 新字段名 新字段类型;
修改表选项
alter table 表名 新表选项;