登錄mysql: mysql -h 主機名 -u 用戶名 -p密碼
先看一下這幾種語句的區別。
DML(data manipulation language):SELECT, UPDATE, INSERT, DELETE這幾個都是對數據進行操作的語句。
DDL(data definition language):主要的命令有CREATE、ALTER、DROP等,DDL主要是用在定義或改變表(TABLE)的結構,數據類型,表之間的鏈接和約束等初始化工作上,他們大多在建立表時使用
DCL(Data
Control Language): 是數據庫控制功能。是用來設置或更改數據庫用戶或角色權限的語句,包括(grant,deny,revoke等)語句。在默認狀態下,只有sysadmin,dbcreator,db_owner或db_securityadmin等人員纔有權力執行DCL
查看數據庫:SHOW DATABASES;
選擇數據庫:USE 數據庫名;
創建數據庫:CREATE DATABASE 數據庫名;
刪除數據庫:DROP DATABASE 數據庫名;
查看當前數據庫編碼:SHOW VARIABLES LIKE 'CHARACTER_SET_DATABASE';
查看錶:SHOW TABLES;
創建表:CREATE 表名(字段1,字段2......);
查看錶結構:DESC 表名;
刪除表:DROP TABLE表名;
插入一條記錄:INSERT INTO 表名(字段1,字段2.....) VALUES(值1,值2,.....);注意:這種方式可以選擇特定的要插入的字段和要插入的值,並非從頭插到尾
插入一條記錄:INSERT INTO VALUES(值1,值2....); 注意:這種插入方式所有字段都必須插入一個值,即有多少字段就得插入多少值。另:如果值是字符或者字符串,要加雙引號
SELECT:
查看整個表內容:SELECT * FROM 表名;
查看特定的字段內容:SELECT 字段1,字段2 FROM 表名;
查看特定字段內容且按某一字段排序:SELECT 字段1 FROM 表名 ORDER BY 字段2;
查看特定字段的內容且丟棄掉重複的內容:SELECT DISTINCT 字段名 FROM 表名;
查看某一條信息:SELECT * FROM 表名 WHERE 字段=字段值;(比如查找數據庫hehe中id值爲3的所有信息:SELECT * FROM hehe WHERE id=3;)
ALTER:
插入一個字段:ALTER TABLE 表名 ADD 字段名;
刪除一個字段:ALTER TABLE 表名 DROP 字段名;
UPDATE:
更新數據庫記錄:UPDATE 表名 SET 字段1=值1 WHERE 字段2=值2;
更新數據庫記錄:UPDATE 表名 SET 字段1=值3,字段3=值1,字段4=值5 WHERE 字段2=值2;
DELETE:
刪除一條記錄:DELETE FROM 表名 WHERE 字段1=值1;(這裏是條件表達式,例如刪除uid>3的,可以寫成 DELETE FROM hehe WHERE id>3)
刪除所有記錄:DELETE FROM 表名;
添加用戶:CREATE USER 用戶名 IDENTIFIED BY ‘密碼’;
刪除用戶:DROP USER 用戶名;
修改當前用戶密碼:SET PASSWORD=PASSWORD(‘密碼’);
修改其他用戶密碼:SET PASSWORD FOR 用戶名=PASSWORD(‘密碼’);
授予用戶權限:GRANT ALL PRIVILEGES ON *.* TO '用戶名'@'%' IDENTIFIED BY '密碼';(%代 表可以登錄的主機不做限制,local代表只能從本地登錄,all privileges 代表所有權限,你也可以在這裏制定特定的權限,比如select,update,delete,alter等等....)
撤銷權限:REVOKE ALL PRIVILEGES FROM 用戶名;(同上,all privileges可以替換爲需要的特定權限)
查看當前用戶權限:SHOW GRANTS FOR 用戶名;
備份數據庫:mysqldump -u 用戶名 -p 數據庫 > 備份數據庫名;
恢復數據庫:mysql -u 用戶名 -p 需要恢復的數據庫名 < 備份的數據庫名;
DCL在此不做討論