# [資料庫] 簡介 ###### tags: `資料庫` `sql` `MySQL` - ### 關聯式資料庫 - SQL - DB - ### 結構化資料庫 - ### 非結構化資料庫 - NoSQL - 目前市面上使用: - Oracle - MySQL - SQL Server (微軟) --- - ### 資料定義語言(Data Definition Language, DDL) 負責**定義資料庫結構與物件** - CREATE 建立 - 建立資料庫 `CREATE DATABASE databaseName` - 建立資料表 `CREATE TABLE tableName` - ALTER 修改 - 在某資料表中新增一個某資料型別的欄位,並允許NULL `ALTER TABLE table_name ADD column_name data_type NULL` - 在某資料表中移除某個欄位 `ALTER TABLE table_name DROP COLUMN column_name` - DROP 刪除 - `DROP TABLE tableName` - `DROP VIEW viewName` - ### 資料操作語言(Data Manipulation Language, DML) 負責**操作(處理、存取)資料庫其中的資料**,若加上SELECT語句又稱「CRUD」 - SELECT 查詢 - INSERT 新增 - UPDATE 修改 - DELETE 刪除 - ### 資料控制語言(Data Control Language, DCL) 負責**授權,控制使用者存取權限** - GRANT 授與權限 - REVOKE 撤回權限 - ### 交易控制語言(Transaction Control Language, TCL) - BEGIN 開始一個交易 - START TRANSACTION 開始一個交易 - SAVEPOINT 在交易中建立儲存點,回滾時撤銷該儲存點後的全部操作 - COMMIT 儲存此次交易全部操作,並完成交易 - AUTOCOMMIT 自動提交並無法回滾 - ROLLBACK 放棄此次交易全部操作,並結束交易