常见库操作:
- 创建数据库 CREATE DATABASE 数据库名称;
- 删除数据库 DROP DATABASE 数据库名称;
- 显示所有数据库:SHOW DATABASES;
常见表操作:
- 创建表:CREATE TABLE 表名( 属性名 数据类型 [完整性约束条件],
属性名 数据类型 [完整性约束条件],
.
.
属性名 数据表格 [完整性约束条件]
);
约束条件 | 说明 |
PRIMARY KEY | 标识该属性为该表的主键,可以唯一的标识对应的记录 |
FOREIGN KEY | 标识该属性为该表的外键,与某表的主键关联 |
NOT NULL | 标识该属性不能为空 |
UNIQUE | 标识该属性的值是唯一的 |
AUTO_INCREMENT | 标识该属性的值自动增加 |
DEFAULT | 为该属性设置默认值 |
- 查看表
操作 | 语句 |
查看基本表结构 | DESCRIBE(或DESC) 表名;//返回表字段及其详细信息表格 |
查看表详细结构 | SHOW CREATE TABLE 表名;//返回结果是创建表的sql |
- 删除表
语句 | 含义 |
drop table 表名; | 彻底删除表格,删除字段数据,释放内存空间 |
truncate 表名; | 删除表格数据,不删除字段,释放内存空间 |
delete from 表名;或delete * from 表名; | 删除内容不删除定义,不释放空间,系统一行一行地删,效率较truncate低 |
**truncate和delete对比:**
truncate 将重新设置高水平线和所有的索引。在对整个表和索引进行完全浏览时,经过 truncate 操作后的表比Delete操作后的表要快得多。 当表被清空后表和表的索引将重新设置成初始大小,而delete则不能。
truncate 是隐式提交,不能触发任何Delete触发器,不能通过rollback命令撤回,而delete可以,因为delete 语句每次删除一行,都在事务日志中为所删除的每行记录一项 ;
truncate table 在功能上与不带 WHERE 子句的 delete语句相同:二者均删除表中的全部行。但 truncate 比 delete速度快,且使用的系统和事务日志资源少,因为delete是一行一行的删除。
注意:truncate不能清空父表
- 修改表
操作 | 语句 |
修改表名 | ALTER TABLE 旧表名 RENMAE 新表名 ; |
修改字段 | ALTER TABLE 表名 CHANGE 旧属性名 新属性名 新数据类型 |
增加字段 | ALTER TABLE 表名 ADD 属性名 数据类型 [完整性约束条件] |
删除字段 | ALTER TABLE 表名 DROP 属性名 |
- 插入数据
操作 | 语句 |
给表的所有字段插入数据 | INSERT INTO 表名 VALUES(值 1,值 2,值 3,...,值 n); |
给表的指定字段插入数据 | INSERT INTO 表名(属性 1,属性 2,...,属性 n) VALUES(值 1,值 2,值 3,...,值 n); |
同时插入多条记录 | INSERT INTO 表名 [(属性列表)] VALUES(取值列表 1),(取值列表 2) ..., (取值列表 n); |
- 更新数据
UPDATE 表名 SET 属性名 1=取值 1,属性名 2=取值 2, ..., 属性名 n=取值 n WHERE 条件表达式;
- 删除数据
DELETE FROM 表名 [WHERE 条件表达式]
还剩一大块查询,待更新!!!