目录
/*********************** 关于表的操作 ********************************/
/*********************** 查看表结构 ********************************/
/*********************** 字段数据类型 ********************************/
/*********************** 关键字 ********************************/
/*********************** 约束主键/外键/唯一 ********************************/
/*********************** 索引 ********************************/
/*********************** 关于表的操作 ********************************/
-- drop table student; -- 删除物理表
-- delete from student; -- 删除表中数据
SELECT * from student; -- 查询物理表
-- 创建表
create table student(
id INT(3) not null auto_increment,
name VARCHAR(30) not null,
age TINYINT(2),
money decimal(4,2),
gender enum('男','女'),
PRIMARY KEY(id)
)ENGINE=INNODB auto_increment=100 CHARACTER set=utf8;
-- 插入语句
insert into student(name,age,money,gender) VALUES("suyun",18,99.9,null);
-- 修改表的名字
rename table student to stu;
alter table stu rename stud;
alter table stud rename to student;
-- 修改列名和类型
alter table student change ageOld ageNew VARIANCE(2);
-- 增加字段
alter table student add afterid int; -- 新增以后默认是放在了最后一行
alter table student add tid int FIRST;-- 放在最前
alter table student add tid int after id;-- 新增字段放在 tid 后面
-- 删除一列
alter table student drop COLUMN tafterid;
/*********************** 查看表结构 ********************************/
desc student;
show full columns from student;
show create table student;-- 展示建表语句
show ENGINES;-- 查看数据库引擎
show TABLES;-- 查看数据库所有表
show DATABASES; -- 查看数据库
/*********************** 字段数据类型 ********************************/
-- 整型:
TINYINT; SMALLINT; MEDIUMINT; INT; BIGINT
-- 小数类型双精度类型:
DECIMAL(p,s); NUMERIC(p,s)
-- 字符串:
CHAR(n) 定长; VARCHAR(n) 可变长度; LONGTEXT 可存4GB; enum 枚举 可以存null;
-- 二进制类型类型
Blob ; LONGBLOB
-- 日期时间
datetime ; TIMESTAMP
/*********************** 关键字 ********************************/
unsigned 无符号,不能有负数
ZEROFILL 如果设置了这个字段,并且实际字段值小于定义值长度,则会用0来补全字段长度
/*********************** 约束主键/外键/唯一 ********************************/
-- 新增主键
alter table student add CONSTRAINT PRIMARY KEY(id);
alter table student add CONSTRAINT pk PRIMARY KEY(id);
-- 移除主键
alter table student drop primary key;
-- 增加唯一约束
alter table student add CONSTRAINT uk UNIQUE(name);
-- 移除唯一约束
alter table student drop index uk;
-- 增加外键
alter table student add CONSTRAINT fk foreign key(tid) REFERENCES teacher(id);
-- 删除外键
alter table student drop foreign key fk;
/*********************** 索引 ********************************/
-- 新建索引
create index index_id on student(age);
-- 删除索引
alter table student drop index index_id;