打开数据库
USE db_name;
SELECT DATABASE();查看当前所选中的数据库
创建数据表
CREATA TABLE [IF NOT EXISTS] table_name ( column_name data_type , …)
UNSIGNED无符号类型
查看数据表
SHOW TABLES [FROM db_name] [LIKE 'pattern' | WHERE expr]
FROM db_name 可以指定去查看某一个数据库内部的表
查看数据表列表
SHOW COLUMNS FROM tbl_name
记录的插入
INSERT [INTO] tbl_name [(col_name , …)] VALUES (val , … )
如果要省略col_name的话,要把所有字段赋值才行。
记录的查找
SELECT expr,… FROM tbl_name
eg.SECECT * FROM tb1;
添加单列
ALTER TABLE tbl_name ADD [COLUMN] col_name column_definition [FIRST | AFTER col_name]
FIRST插入的列在最前面
AFTER插入的列在指定列的后方
省略的话插入的列在最后
添加多列
不能指定位置关系,只能在原来数据表的下方
ALTER TABLE tbl_name ADD [COLUMN] (col_name column_definition, …)
删除列
ALTER TABLE tbl_name DROP [COLUMN] col_name
ALTER TABLE tbl_name DROP [COLUMN] col_name,… (←删除多列)
也可以同时删除之后,进行添加操作,逗号分割。
添加主键约束
ALTER TABLE tbl_name ADD [CONSTRAINT [symbol]] PRIMARY KEY [index_type] (index_col_name,…)
添加唯一约束
ALTER TABLE tbl_name ADD [CONSTRAINT[symbol]] UNIQUE [INDEX | KEY] [index_name] [index_type](index_col_name,…)
添加/删除默认约束
ALTER TABLE tbl_name ALTER [COLUMN] col_name {SET DEFAULT literal | DROP DEFAULT}
删除主键约束
ALTER TABLE tbl_name DROP PRIMARY KEY
删除唯一约束
ALTER TABLE tbl_name DROP {INDEX | KEY} index_name
修改列定义
ALTER TABLE tbl_name MODIFY [COLUMN] col_name column_definition [FIRST | AFTER col_name]
ALTER TABLE tbl_name CHANGE[COLUMN] old_col_name new_col_name column_definition [FIRST | AFTER col_name](←还可以更改列名称)
修改数据表名字
①ALTER TABLE tbl_name RENAME [TO | AS] new_tbl_name
②RENAME TABLE tbl_name TO new_tbl_name [,tbl_name2 TO new_tbl_name2]…(←可以为多张数据表的更名)
不要随意更改表名或者列名
空与非空
NULL 字段可以为空
NOT NULL 字段不可以为空
自动编号(记录唯一性)
AUTO_INCREMENT
自动编号,必须和主键(PRIMARY KEY)组合使用
默认情况下起始值为1,每次增量为1(INT型,或者小数位数为0的float型)
PRIMARY KEY
每张表只能有一个主键,主键保证记录的唯一性,主键自动为NOT NULL
AUTO_INCREMENT必须和主键一起用,但是主键不一定必须要和AUTO_INCREMENT一起用。
唯一约束
UNIQUE KEY
一张数据表可以存在多个UNIQUE KEY,但是只能存在一个PRIMARY KEY
唯一约束可保证记录的唯一性,可以为空值(NULL),每张数据表可以存在多个唯一约束
ALTER TABLE tb_name ADD COLUMN column_name type value;
例如:alter table mybook add column publish_house varchar(10) default '';
username 不能有两个Tom, 这就是唯一约束
默认约束
DEFAULT
插入记录时,没有明确为字段赋值,则自动赋予默认值。
插入记录时没有给sex赋值,则默认为3
总结
- 数据类型:字符型,整型,浮点型,日期时间型
- 数据表操作:插入记录,查找记录
- 记录操作:创建数据表,约束的使用
- 约束:NOT NULL, DEFAULT, PRIMARY KEY, UNIQUE KEY, FOREIGN KEY
- 表级约束,列级约束
- 针对字段的操作:添加删除字段,修改列定义,列名称
- 针对约束操作:添加删除约束
- 针对数据表:数据表更名