1. 程式人生 > 其它 >建立和管理資料庫、表

建立和管理資料庫、表

資料庫建立與管理

#建立資料庫
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

,則可回滾