-- 表操作
-- 创建表
create table php10_stu (
id tinyint not null auto_increment primary key comment 'id',
name varchar(5) not null comment '姓名',
age tinyint not null comment '年龄',
price decimal(10,2) not null comment '价格',
adddate datetime not null comment '入学日期',
jianjie text not null comment '简介'
) charset=utf8;
-- 查询所有表
show tables;
-- 查询创建语句
show create table php10_stu;
-- 查询表结构
desc php10_stu;
-- 添加字段
alter table php10_stu add sex varchar(2) not null comment '性别';
-- 修改字段
alter table php10_stu change sex sex1 tinyint null comment '新性别';
-- 修改字段选项
alter table php10_stu modify sex1 varchar(2) not null comment '旧性别';
-- 删除字段
alter table php10_stu drop sex1;
-- 删除表
drop table php10_stu;
1.创建表
语法:
createtable 表名 (
字段名1 数据(字段)类型 字段选项,
字段名2 数据类型 字段选项,
.......................................
) 表选项;
数据类型:数值型、字符床型、日期时间型
整形:tinyint、smallint、mediumint
说明:分为有符号、无符号
小数型:float、double
decimal定位小数,decimal(10, 2) : 这个小数共10位,其中2位小数, 10.00
字符型: text、varchar、char
- varchar:变长,一旦设置存储大小,不能超过限制,如果没有写够限制的大小,剩下的空间消失。
- char:定长,一旦设置存储大小,不能超过限制,如果没有写限制的大小,剩下空间会空格补齐。
日期类型:yes、date、datatime、time
字段选项
- 是否为空:null和not null
- 是否有默认值:default 默认值; 注意:默认值必须根数据类型一致;
- 是否有索引:主键--primary key(字段名-id),设置当前列中的内容不能重复且优先排序;
- 是否其他设置:auto_increment(自动增长)、comment(注释);
表选项:字符集和存储引擎
注意:常用Myisam和InnoDB,如果要支持事务,就选InnoDB。
2.查询表
语法:show tables;
3.查询表的创建语句
语法:show create table 表名;
4.查询表结构
语法:desc 表明;
5.修改表
5.1 添加字段:alter table 表名 add 新字段名 字段类型[字段属性列表];
5.2 修改字段: alter table 表名 change 旧字段名 新字段名 新字段类型[新字段属性列表];
修改字段(只改属性):alter table 表名 modify 字段名 新字段类型[新字段属性列表];
5.3 删除字段:alter table 表名 drop 字段名;
5.4 删除表:droptable 表名;