#1.插入數據必須先插入tb_dept數據,因爲tb_emp有外鍵約束。注意:字段和值數量和類型都需要匹配
INSERT INTO tb_dept(NAME,loc,description) VALUES('開發部’,'廣州','負責軟件開發工作');
#2.如果插入的values是所有字段,可以不用顯式寫插入的字段名,強烈不推薦,不會影響到自動增長
INSERT INTO tb_dept VALUES(2,'財務部','廣州','負責財務工作');INSERT INTO tb_dept (NAME,loc,description)VALUES('運維部','廣州','負責運維工作');
#測試auto_increment
#auto_increment會記住曾經生成的值刪除2,3後插入,id變爲4
INSERT INTO tb_dept(NAME,loc,description)VALUES('運維部','廣州','負責運維工作');
#3.一次插入多條記錄(MySQL特有)
INSERT INTO tb_dept(NAME,loc,description)
Values('市場部','廣州','負責市場工作'),
('採購部','廣州','負責採購工作'),('其他部門','廣州','負責其他工作');
#4.可以從一張表中插入數據
#創建一張表和tb_dept表的結構一樣,通過這種方法建表,只複製表結構不復製表約束CREATE TABLE tb_dept2
SELECT * FROM tb_dept WHERE id = 99;(沒有數據)
#SELECT * FROM tb_dept(有數據)
INSERT INTO tb_dept2(id,NAME,loc,description) SELECT id,NAME,loc,description FROM tb_dept;
INSERT INTO tb_emp(NAME,age,address,email,dept_id)
VALUES('Tom','26','gz','[email protected]','1');
#更新語句,WHERE的時候建議使用主鍵或者唯一鍵,主鍵最好,因爲與業務無關
UPDATE tb_emp SET age=23 WHERE id=1;
UPDATE tb_emp SET age=25,sex='女' WHERE id=2;
#刪除語句,刪除不用指明列,因爲是刪除列
DELETE FROM tb_emp;#刪除表所有數據
DELETE FROM tb_emp WHERE id=2;
#截斷表,DDL語句,刪除所有表數據
TRUNCATE TABLE tb_emp;
#數據庫機制 ,auto_commit,值是true和false
#查詢mysql自動提交設置爲1(1自動提交,0手動提交)
SELECT @@autocommit;
delete刪除數據,保留表結構,可以回滾,如果數據量大,很慢,回滾是因爲備份了刪除的數據,
(也就是說刪除數據時有兩個動作,一刪除,二備份)
truncate 刪除所有數據,保留表結構,不可以回滾,速度相對較快(刪除數據時只有一個動作:刪除)
drop 刪除數據和表結構,刪除最快(直接從內存抹去這一塊數據)
#修改提交方式
SET autocommit = 0;