-- 顯式列名(推薦) INSERT INTO customers (cust_id, cust_email, cust_name, cust_zip, cust_country, cust_city) VALUES (1021, 'liangbocv@126.com', 'Andy Liang', 610000, 'China', 'Chengdu'); -- 查詢結果插入 INSERT INTO customers (cust_id, cust_email, cust_name, cust_zip, cust_country, cust_city) SELECT cust_id, cust_email, cust_name, cust_zip, cust_country, cust_city FROM custNew; -- MySQL 創建表復制數據 CREATE TABLE custcopy2 AS SELECT * FROM customers;
-- 增加列 ALTER TABLE custcopy2 ADD cust_gender VARCHAR(8); ALTER TABLE custcopy2 ADD add_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP; -- 刪除表 DROP TABLE custcopy; -- 重命名表 RENAME TABLE custcopy2 TO custcopy;
-- 無參數
DELIMITER &&
CREATE PROCEDURE showAll()
BEGIN
SELECT * FROM customers;
END &&
DELIMITER ;
CALL showAll();
-- 輸入參數
DELIMITER $
CREATE PROCEDURE getID(IN id VARCHAR(32))
BEGIN
SELECT * FROM customers WHERE cust_id = id;
END $
DELIMITER ;
CALL getID('1000000001');
CREATE TABLE test ( id SMALLINT NOT NULL PRIMARY KEY AUTO_INCREMENT, socialid VARCHAR(64) UNIQUE, cust_id VARCHAR(16) NOT NULL REFERENCES customers(cust_id), quantity SMALLINT CHECK (quantity > 0), gender VARCHAR(8) CHECK (gender LIKE '[MF]') );
CHECK 靈活業務規則CREATE INDEX prod_name_id ON PRODUCTS (prod_name);
提升搜索/排序/分組效率,代價:寫入慢、佔空間、動態維護。按查詢模式動態創建。
CREATE TRIGGER ... BEFORE/AFTER INSERT/UPDATE/DELETE ON table FOR EACH ROW ...