数据库创建与管理
#创建数据库
CREATE DATABASES IF NOT EXISTS db_name CHARACTER SET 'utf8';
#查看所有数据库
SHOW DATABASES;
#切换数据库
USE db_name;
#查看当前数据库中保存的表
SHOW TABLES;
#查看当前使用的数据库
SHOW DATABASE() FROM DUAL;
#查看数据库信息
SHOW CREATE DATABASE db_name;
#更改数据库
ALTER DATABASE db_name CHARACTER SET 'xxx';
#删除数据库
DROP DATABASE IF EXISTS db_name;
数据表创建与管理
创建
#新创建
CREATE TABLE IF NOT EXISTS t_name(
col_1 INT.
col_2 VARCHAR(15),
col_3 DATE,
...;
)
#基于已有表创建
CREATE TABLE t_name
AS
SELECT xxx,xxx,xxx
FROM another_table;
#查看字段
DESC t_name;
#eg.基于tb_1创建新表,但不复制数据
CREATE TABLE tb_2
AS
SELECT xxx,xxx,xxx
FROM tb_1
WHERE 1 = 0;
修改
#添加字段
ALTER TABLE tb_1
ADD xxx INT;
ALTER TABLE tb_1
ADD xxx INT FIRST;
ALTER TABLE tb_1
ADD xxx INT AFTER yyy; #指定字段位置
#修改字段类型
ALTER TABLE tb_1
MODIFY xxx VARCHAR(15);
#重命名字段
ALTER TABLE tb_1
CHANGE name new_name VARCHAR(15);
#删除字段
ALTER TABLE tb_1
DROP COLUMN xxx;
#删除表
#重命名表
ALTER TABLE t_name
RENAME TO new_name;
#删除表(没有与其他数据表形成关联)(无法回滚)
DROP TABLE IF EXISTS t_name;
#清空表(可回滚)
TRUNCATE TABLE t_name;
COMMIT与ROLLBACK
COMMIT: 提交,意味着数据无法回滚
ROLLBACK: 回滚至上次COMMIT
· DDL(CREATE/ALTER/DROP): 一旦执行,就不能回滚,SET autocommit = FALSE无效
· DML(SELECT/UPDATE/DELETE): 默认情况不能回滚,若事先SET autocommit = FALSE,则可回滚
浙公网安备 33010602011771号