表操作
表本身
和表结构
的操作
创建
create table 表名(
字段的定义
) [表选项]
其中表名,一定先要确定数据库!因此一个典型的表名是由两部分组成:
所在库.表名
test.stu test库内的stu表
但是我们可以设置默认数据库
,如果不指定则使用默认数据库
use 数据库名
选择默认数据库
在使用 表名
,但是没有指明其所在数据库时,默认数据库才会起作用!
其中字段部分
字段才是最终的数据的载体(与变量的概念是类似的,都是基本保存数据的),mysql 是强类型,字段类型是固定的,提前定义好的!
因此在定义字段时,至少要字段名
和 字段类型
!
两种最基本的mysql数据类型int
和varchar
(其中varchar必须指定最大长度,字符为单位)!
表选项部分
典型的常用表选项有:
字符集(校对集),表引擎
查看
查看所有的表
show tables like '模式';
查看具体的建表语句
show create table 表名
在mysql命令行客户端,如果数据过多,不容易展示!
可以使用 \G 为语句结束符
查询表结构
desc 表名
修改
修改表选项
alter table 表名 [新选项]
alter table stu engine=myisam charset = gbk;
修改表名
rename table 原表名 to 新表名
注意:表名可以由库名.表名
表示!
因此可以跨库修改表名!
修改表结构,表内字段
增加字段
alter table table_name add column 字段定义 [字段位置]
增加一个age字段:alter table stu add column age int;
增加一个height字段,在name之后,使用`after some_column`关键字:alte table stu add column height int after name;
在最开始增加sn字段,使用'first`关键字:alter table stu add column sn varchar(255) first;
删除字段
alter table table_name drop column column;
修改已有字段
alter table table_name modify column column_name 新的定义!
字段改名
alter table table_name change column 原字段名 新字段名 新字段定义!
注意:不是纯粹的改名,而是改变字段的定义,同时改名
删除表
drop table table_name;
droop table if exist;
create table if not exist;