表的引用方式:
tbl_name
db_name.tbl_name
第二種創建方式:
複製表結構;
第三種創建方式:
複製表數據;
索引管理:
索引是特殊的數據結構;主要是爲了加速數據操作,不理於寫操作
索引:要有索引名稱;索引數據是及時創建的 不能修改 所以只能穿件或刪除
創建:
CREATE [UNIQUE|FULLTEXT|SPATIAL] INDEX index_name [BTREE|HASH] ON tbl_name (col1, col2,,...)
刪除:
DROP INDEX index_name ON tbl_name
DML:INSERT, DELETE, UPDATE, SELECT
INSERT INTO:
INSERT [INTO] tbl_name [(col1,...)] {VALUES|VALUE} (val1, ...),(...),...
注意:
字符型:引號;
數值型:不能用引號;
SELECT:
(1) SELECT * FROM tbl_name;
(2) SELECT col1, col2, ... FROM tbl_name;
顯示時,字段可以顯示爲別名;
col_name AS col_alias
(3) SELECT col1, ... FROM tbl_name WHERE clause;
WHERE clause:用於指明挑選條件;
col_name 操作符 value:
age > 30;
操作符(1) :
>, <, >=, <=, ==, !=
組合條件:
and
or
not
操作符(2) :
BETWEEN ... AND ...
LIKE 'PATTERN'
通配符:
%:任意長度的任意字符;
_:任意單個字符;
RLIKE 'PATTERN'
正則表達式對字符串做模式匹配;
IS NULL
IS NOT NULL
(4) SELECT col1, ... FROM tbl_name [WHERE clause] ORDER BY col_name, col_name2, ... [ASC|DESC];
ASC: 升序;
DESC: 降序;
DELETE:
DELETE FROM tbl_name [WHERE where_condition] [ORDER BY ...] [LIMIT row_count]
(1) DELETE FROM tbl_name WHERE where_condition
(2) DELETE FROM tbl_name [ORDER BY ...] [LIMIT row_count]
UPDATE:
UPDATE [LOW_PRIORITY] [IGNORE] table_reference SET col_name1=value1 [, col_name2=value2] ... [WHERE where_condition] [ORDER BY ...] [LIMIT row_count]
用戶賬號及權限管理:
用戶賬號:'username'@'host'
host:此用戶訪問當前mysql服務器時,允許其通過哪些主機遠程創建連接;
表示方式:IP,網絡地址、主機名、通配符(%和_);
禁止檢查主機名:my.cnf
[mysqld]
skip_name_resolve = ON
創建用戶賬號:
CREATE USER 'username'@'host' [IDENTIFIED BY 'password'];
刪除用戶賬號:
DROP USER ’user‘@’host' [, user@host] ...
授權:
權限級別:管理權限、數據庫、表、字段、存儲例程;
GRANT priv_type,... ON [object_type] db_name.tbl_name TO 'user'@'host' [IDENTIFIED BY 'password'];
priv_type: ALL [PRIVILEGES]
db_name.tbl_name:
*.*:所有庫的所有表;
db_name.*:指定庫的所有表;
db_name.tbl_name:指定庫的特定表;
db_name.routine_name:指定庫上的存儲過程或存儲函數;
[object_type]
TABLE
FUNCTION
PROCEDURE
查看指定用戶所獲得的授權:
SHOW GRANTS FOR 'user'@'host'
SHOW GRANTS FOR CURRENT_USER;
回收權限:
REVOKE priv_type, ... ON db_name.tbl_name FROM 'user'@'host';
注意:MariaDB服務進程啓動時,會讀取mysql庫的所有授權表至內存中;
(1) GRANT或REVOKE命令等執行的權限操作會保存於表中,MariaDB此時一般會自動重讀授權表,權限修改會立即生效;
(2) 其它方式實現的權限修改,要想生效,必須手動運行FLUSH PRIVILEGES命令方可;
加固mysql服務器,在安裝完成後,運行mysql_secure_installation命令;
圖形管理組件:
phpMyAdmin
運行於lamp;
Navicat
Mysql-Front
ToadForMySQL
SQLyog