標籤:community 資料庫管理 general 安全性 正式版
SQL(Structure Query Language 結構化查詢語言 (SQL))
1、資料定義語言 (Data Definition Language)(Data Definition Language, DDL)
資料庫管理系統提供了資料定義語言 (Data Definition Language)定義資料庫涉及各種對象,定義資料的完整性條件約束、保密限制等約束
2、資料操作語言(Data Manipulation Language, DML)
檢索(查詢)和更新(插入、刪除、更新)
3、資料控制語言(Data Control Language, DCL)
資料完整性控制、資料安全性控制和資料庫的恢複等。
MySQL的各種版本:
社區版(Community)和企業版(Enterprise)
GA(General Availability):官方推崇廣泛使用的版本
RC(Release Candidate):候選版本,最接近正式版的版本
Alpha和Bean都屬於測試版本,其中Alpha是指內測版本,Bean是指公測版本
系統資料庫:
information_schema: 主要儲存系統中的一些資料庫物件資訊,如使用者表資訊、列資訊、許可權資訊、字元集資訊和分區資訊等
performance_schema:主要儲存資料庫伺服器績效參數
mysql:主要儲存系統的使用者權限資訊
test:該資料庫為MySQL資料庫管理系統自動建立的測試資料庫任何使用者都可以使用
CREATE DATABASE zt001;
SHOW DATABASES;
USE zt001;
DROP DATABASE zt001;
SHOW ENGINES \G
儲存引擎分別為:FEDERATED, MRG_MYISAM, MyISAM, BLACKHOLE,CSV,MEMORY,ARCHIVE, InnoDB, PERFORMANCE_SCHEMA . 其中Enginge參數表示儲存引擎名稱;Support參數表示MySQL資料庫管理系統是否支援該儲存引擎,DEFAULT表示該儲存引擎是資料庫管理系統預設的儲存引擎,Comment參數表示關於儲存引擎的評論;Transactions參數表示儲存引擎是否支援事務,XA參數表示儲存引擎所支援的分布式是否符合XA規範,Savepoints參數表示儲存引擎是否支援交易處理中的儲存點。
SHOW VARIABLES LIKE ‘have%‘; //查看支援的儲存引擎
SHOW VARIABLES LIKE ‘storage_engine%‘;//查詢預設儲存引擎
MyISAM儲存引擎:由於該儲存引擎不支援事務、也不支援外鍵,所以訪問速度比較快。因此對事物完整性沒有要求並以訪問為主的應用適合使用該儲存引擎。
InnoDB儲存引擎:由於該儲存引擎在事務上具有優勢,即支援具有提交、復原和崩潰恢複能力的事務安裝,所以比MyISAM儲存引擎佔用更多的磁碟空間。因此需要進行頻繁的更新、刪除操作,同時還對事務的完整性要求比較高,需要實現並發控制,此時適合使用該儲存引擎。
MEMORY儲存引擎:該儲存引擎使用記憶體來儲存資料,因此該儲存引擎的資料訪問速度快,但是安全上沒有保障。如果應用中涉及資料比較小,需要快速進行訪問,則適合使用該儲存引擎。
CREATE DATABASE company;
USE company;
CREATE TABLE t_dept(
deptno INT,
dnmae VARCHAR(20),
loc VARCHAR(40)
);
DESCRIBE table_name;
SHOW CREATE TABLE table_name;
SHOW CREATE TABLE t_dept \G
DROP TABLE table_name;
ALTER TABLE old_table_name RENAME new_table_name;//修改表名
在表的最後一個位置增加欄位:
ALTER TABLE table_name ADD 屬性名稱 屬性類型
ALTER TABLE t_dept ADD descri VARCHAR(20);
在表的第一個位置增加欄位:
ALTER TABLE table_name ADD 屬性名稱 屬性類型 FIRST;
ALTER TABLE t_dept ADD descri VARCHAR(20) FIRST;
在表的指定欄位之後增加欄位
ALTER TABLE table_name ADD 屬性名稱 屬性類型 AFTER 屬性名稱;
ALTER TABLE t_dept ADD descri VARCHAR(20) AFTER deptno;
刪除欄位:
ALTER TABLE table_name DROP 屬性名稱
ALTER TABLE t_dept DROP deptno;
修改欄位的資料類型:
ALTER TABLE table_name MODIFY 屬性名稱 資料類型
ALTER TABLE t_dept MODIFY deptno VARCHAR(20);
修改欄位的名字
ALTER TABLE table_name CHANGE 舊屬性名稱 新屬性名稱 舊資料類型
ALTER TABLE t_dept CHANGE loc location VARCHAR(40);
同時修改欄位的名字和屬性
ALTER TABLE table_name CHANGE 舊屬性名稱 新屬性名稱 新資料類型
ALTER TABLE t_dept CHANGE loc location VARCHAR(20);
修改欄位的順序
ALTER TABLE table_name MODIFY 屬性名稱1 資料類型 FIRST|AFTER 屬性名稱2
ALTER TABLE t_dept MODIFY loc VARCHAR(40) FIRST;
ALTER TABLE t_dept MODIFY deptno INT(11) AFTER dname;
MySQL常用命令