数据库管理
- 创建数据库 + 使用数据库
创建数据库
CREATE DATABASE IF NOT EXISTS 数据库名;
使用数据库
USE 数据库名;
查看数据库下所有的表
SHOW TABLES;
SHOW TABLES FROM 数据库名;
- 修改数据库
ALTER DATABASE 数据库名 CHARACTER SET 字符集; #比如:gbk、utf8等
- 删除数据库
# IF EXISTS 可以省略
DROP DATABASE IF EXISTS 数据库名;
表管理
- 创建表
方式1:
CREATE TABLE [IF NOT EXISTS] 表名(
字段1 数据类型 [约束条件] [默认值],
字段2 数据类型 [约束条件] [默认值],
字段3 数据类型 [约束条件] [默认值],
[表约束条件]
);
示例:
-- 创建表
CREATE TABLE emp (
-- int类型
emp_id INT,
-- 最多保存20个中英文字符
emp_name VARCHAR(20),
-- 总位数不超过15位
salary DOUBLE,
-- 日期类型
birthday DATE
);
必须指定:
表名 列名(或字段名),数据类型,长度
可选指定:
约束条件 默认值
方式2:
CREATE TABLE 表名
AS
SELECT 语句
查看表结构
# DESCRIBE 表名;
DESC 表名;
SHOW CREATE TABLE 表名;
- 修改表
添加一列:
# []内是可选内容
ALTER TABLE 表名
ADD [COLUMN] 字段名 字段类型 [FIRST | AFTER 字段名]
示例:
ALTER TABLE dept80
ADD job_id varchar(15);
修改一列:
ALTER TABLE 表名
MODIFY [COLUMN] 字段名1 字段类型 [DEFAULT 默认值] [FIRST|AFTER 字段名2]
也就是说,修改操作可以修改列的字段类型,长度,默认值,和位置。
示例:
ALTER TABLE dept80
MODIFY salary DOUBLE(9,2) DEFAULT 1000;
重命名一个列:
ALTER TABLE 表名
CHANGE [COLUMN] 列名 新列名 新数据类型;
示例:
ALTER TABLE dept80
CHANGE department_name dept_name VARCHAR(15);
删除一个列:
ALTER TABLE 表名
DROP [COLUMN] 字段名;
示例:
ALTER TABLE dept80
DROP job_id;
重命名表:
ALTER TABLE 表名
RENAME [TO] 新表名;
示例:
ALTER TABLE employees
RENAME emps;
- 删除表
DROP TABLE [IF EXISTS] 数据表1,[, 数据表2, …, 数据表n];
drop操作删掉数据,表结构,索引;相关事务被提交。
示例:
DROP TABLE dept80;
清空表:
TRUNCATE 操作删除表中的数据,保留表的结构,无法回滚,使用的系统和事务日志资源少。 TRUNCATE TABLE 在功能上与不带
WHERE 子句的 DELETE 语句相同。
TRUNCATE TABLE 表名;
同样,delete操作也是删除数据,保留表结构。通常删表里的数据就是用的
delete from 表名
where 子句