數(shù)據(jù)庫: 表,視圖(view),索引(index),觸發(fā)器(trigger),存儲過程(storage procedure),存儲函數(shù)(storage function),事件調(diào)度器(event scheduler),
創(chuàng)建表語法:
CREATE TABLE [IF NOT EXISTS]
tb_name
例: CREATE TABLE user ( id INT NOT NULL, Name CHAR(30) NOT NULL,AUTO_INCREMENT KEY);
創(chuàng)建表時,指定引擎
CREATE TABLES users(id INT) ENGINE =
InnoDB;
CREATE TABLES users ENGINE = InnoDB;
AUTO_INCREMENT 自動增長
創(chuàng)建表:
CREATE TABLE
db_name like db_othername; 只創(chuàng)建表結(jié)構(gòu)
創(chuàng)建users表
CREATE TABLE
users ( ID INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,Name VARCHAR(30)
NOT NULL,Age TINYINT UNSIGNED NOT NULL,Gender ENUM('F','M') NOT NULL DEFAULT
'M');
設(shè)置默認儲存引擎:
SET GLOBAL
storage_engine = engine_name;
SET SESSION
storage_engine = engine_name; 只對當前有效
where字句后可用的:>,<,=,BETWEEN…AND…
SELECT DISTINCT
zone FROM zones LIMIT 100; 顯示100行且去除重復
GROUP BY 分組
SELECT zone, COUNT(*) FROM mytb GROUP BY
zone;
數(shù)據(jù)導入:#mysql –uroot –p mydb 表名 < /tmp/mydb.sql
mysql>LOAD DATA INFILE ‘/root/table.sql
INTO mytb;注:mytb創(chuàng)建的表
order by 字表 DESC 降序; ORDER BY 字表 ASC升序,默認是升序
SHOW INDEXES
FROM users;
UNIQUE 唯一性
BTREE |
HASH 兩種索引類型
修改表結(jié)構(gòu):
ALTER TABLE tb_name
添加字段:ADD col_name col_ def 添加字段 AFTER col_name在col_name后添加字段,FIRST col_name該字段前加字段
ALTER TABLE user1 ADD Master TINYINT
UNSIGNED;
修改字段:
CHANGE old_name new_name col_definat
MODIFY col_name col_definat
例: ALTER TABLE user MODIFY Gender ENUM(‘F’,’M’) NOT NULL DEFAULT ‘M’;
例: ALTER TABLE user CHANGE Master Tutor TINYINT UNSIGNED AFTER Age;
添加索引: ADD {ADD|INDEX} [index_name] [index_type] (col….)
例:ALTER TABLE user ADD INDEX (Age);
刪除字段: DROP col_name
刪除鍵:DROP PRIMARY KEY
DROP {INDEX|KEY} index_name
給表重命名:ALTER TABLE user RENAME TO qq 將user命名成qq 或RENAME TABLE user TO qq
插入數(shù)據(jù):INSERT INTO tb_name(字段名) VALUE (‘’,’’,’’)
INSERT INTO tb_name VALUE (‘’,’’,’’)
INSERT INTO tb_name SET 字段名=自定義
插入多行:INSERT INTO tb_name (字段名) VALUES (‘’,’’) (‘’,’’) (‘’,’’)
這里的INSERT可以換成REPLACE,區(qū)別replace能直接替換主鍵而不報錯,insert不可
修改數(shù)據(jù):UPDATE tb_name SET 字段名=設(shè)置 WHERE 條件
例: UPDATE user SET Age=21
LIMIT 2; 修改前兩行年齡
刪除數(shù)據(jù):
DELETE FROM tb_name WHERE 條件
TRUNCATE TABLE tb_name 清空數(shù)據(jù)并恢復初始狀態(tài)
SELECT
LAST_INSERT_ID();
ALTER TABLE
user AUTO_INCREMENT=2 設(shè)定自動增長的ID號
多表查詢:
連接的類型:
交叉連接(很少用到),例:SELECT * FROM user,user2
內(nèi)連接,
例:SELECT * FROM user,user2 WHERE
user.ID=user2.CID表user的字段id和表user2的字段cid連接起來
別名 例:SELECT * FROM user AS A, user2 AS
B HWERE A.ID=B.ID
外連接:左外連接、右邊連接、
SLECT k.Name,j.Cname FROM user AS k, LEFT JOIN user2 AS j ON k.CID=J.CID
全外連接,自連接
例:SELECT k1.NAME,k2.Name FROM user
AS k1, user2 AS k2 WHERE k1.Age=k2.UID
UNION: 例: SELECT UID AS ID ,Name AS NAME FROM user UNION SELECT CID AD ID, CNAME AS NAME FROM
user2 |