MySQL2:代码小节和代码测试
生活随笔
收集整理的這篇文章主要介紹了
MySQL2:代码小节和代码测试
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
一.整體框架圖
1.DDL
2.DML(略簡單)
3.其他結(jié)構(gòu)
3.代碼注意
①alter和update對比
- alter需要指明 database,table,其可以更新數(shù)據(jù)庫數(shù)據(jù)表
- update不需要指明,因?yàn)槠渲荒芨聰?shù)據(jù)表
②視圖能否更新字段?
二.DDL和DML
SHOW DATABASES;#增加數(shù)據(jù)庫 CREATE DATABASE IF NOT EXISTS test CHARACTER SET gbk #刪除數(shù)據(jù)庫 DROP DATABASE IF EXISTS test #更改數(shù)據(jù)庫 ALTER DATABASE test CHARACTER SET utf8 #查看數(shù)據(jù)庫 SHOW DATABASES SHOW CREATE DATABASE test SHOW TABLES FROM test#創(chuàng)建表 CREATE TABLE employ(id INT,NAME VARCHAR(15))#寫上個別名,否則會增加其他列 AS SELECT employee_id AS id ,last_name AS NAME FROM atguigudb.`employees` #刪除表 DROP TABLE employ#刪除表 TRUNCATE TABLE employ#清空表 #更改表 RENAME TABLE employees TO employ #查看表 SHOW TABLES; SHOW CREATE TABLE employ; SELECT * FROM employ#增加字段 ALTER TABLE employ ADD salary DECIMAL(10,2) #刪除字段 ALTER TABLE employ DROP COLUMN salary#注意,刪除字段增加column #更改字段 #更改字段名稱 ALTER TABLE employ CHANGE id1 id INT #更改字段的其他(類型,位置) ALTER TABLE employ MODIFY id VARCHAR(15) AFTER `name` #查看字段 DESC employ#DML之增刪改 INSERT INTO employ VALUES('lkj',1000) DELETE FROM employ WHERE NAME='lkj' UPDATE employ SET id=101 WHERE NAME='king' #約束的索引 主鍵 外鍵 unique有索引,not null和default沒有索引 #主鍵的索引是primary一定是,其他的索引都可以自己定義名稱,不定義則默認(rèn)為是列名 #刪除約束需要刪除索引CREATE TABLE my_employ( id INT PRIMARY KEY AUTO_INCREMENT,#列級約束 last_name VARCHAR(15) NOT NULL, salary INT DEFAULT 2000 UNIQUE, department_id INT DEFAULT 0, CONSTRAINT my_employ_rs_did FOREIGN KEY(department_id) REFERENCES departments(department_id)) #表級約束,注意被設(shè)置為外鍵的在另一個表中需要時主鍵#修改約束,所有都可以改 ALTER TABLE my_employ MODIFY last_name VARCHAR(15) NOT NULL#刪除unique約束的索引即刪除索引約束 ALTER TABLE my_employ DROP INDEX salaryDROP TABLE my_employ DESC my_employ三.其他數(shù)據(jù)庫結(jié)構(gòu)
1.視圖
#創(chuàng)建視圖 CREATE VIEW vie_em AS SELECT employee_id,salary FROM employees #刪除視圖 DROP VIEW vie_em #更改視圖(數(shù)據(jù)段,具體數(shù)據(jù))(不能執(zhí)行對字段的操作,只能直接對行數(shù)據(jù)進(jìn)行操作) ALTER VIEW vie_em MODIFY employee_id DOUBLE ALTER TABLE CHANGE employee_id id INTUPDATE vie_em#不能updata加table或者view SET salary=salary+100 #查看視圖 DESC vie_em2.存儲過程和函數(shù)
#存儲過程編寫DELIMITER $ CREATE PROCEDURE a() BEGINSELECT * FROM employees; END $CALL a()SELECT * FROM employees3.觸發(fā)器
DELIMITER $ CREATE TRIGGER d BEFORE INSERT ON my_employ FOR EACH ROW BEGINUPDATE employeesSET employee_id=0WHERE employee_id=100; END $INSERT INTO my_employ VALUES(1,'a',1,1)總結(jié)
以上是生活随笔為你收集整理的MySQL2:代码小节和代码测试的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 脚本造成web浏览器运行速度减慢_脚本导
- 下一篇: linux安装桌面键盘,如何在 Linu