MySQL數據管理操作示例講解
外鍵
方式一:在創建表的時候,增加約束
刪除有外鍵的表的時候,要先刪除引用外鍵的表
物理外鍵:不建議使用,數據庫級別的外鍵,不建議使用!(避免數據庫過多造成困擾)
數據庫就是單純的表,隻用來存數據,隻有行(數據)和列(字段)
我們想使用多張表的數據,想使用外鍵,用程序去實現即可
DML語言
數據庫的意義:數據管理,數據存儲
DML語言:數據操作語言
insert update delete
添加 insert
-- 插入語句 -- insert into 表名([字段名1],[字段2],....) values ('值1','值2',....),('值1','值2',....),... insert into `grade`(gradename) values ('大四') -- 由於主鍵自增,我們可以省略(如果不寫字段名,就會一一匹配) -- 一般寫插入語句,我們一定要數據和字段一一匹配 -- 插入多字段 insert into grade(gradename) values('大一'),('大二') insert into student(name,pwd) values ('Lisa','1223') insert into student(name,pwd) values ('Lisa','1442'),('lili','520'),('aaa','126')
語法:insert into 表名([字段名1],[字段2],…) values (‘值1’,‘值2’,…),(‘值1’,‘值2’,…),…
註意事項:
- 字段和字段之間使用英文逗號隔開;
- 字段是可以省略的,但是後面的值必須要一一對應;
- 可以同時插入多條數據,values後的值,需要使用,隔開即可 (‘值1’,‘值2’,…),(‘值1’,‘值2’,…),…
修改 update
-- 修改學員的名字 update student set name = '安娜' where id = 1 -- 不指定條件的情況下,會改動所有表! -- 修改多個屬性 update student set name = '安娜',pwd = '1123' where id = 1 -- 語法: -- update 表名 set 列名 = value,列名 = value,... where id=1
條件:where 子句 運算符 id 等於某個值 大於某個值 在某個區間內修改 ,…
語法:update 表名 set 列名 = value,列名 = value,… where id=1
註意:
- 列名是數據庫的列,盡量帶上“
- 條件,篩選條件,如果沒有指定則會修改所有的列;
- value 是一個具體的值,也可以是一個變量
update student set birthday=current_time where id = 1
設置多個屬性,中間使用英文逗號隔開
刪除 delete
語法:delete from 表名 [where(條件)]
-- 刪除數據 不要這樣寫,會全部刪除的 delete from student -- 刪除指定數據 delete from student where id=1
truncate命令:專門用來刪除數據庫的
作用:完全清空一個數據庫表,表的結構和索引約束不會變
-- 清空grade表 truncate grade
delete和truncate的區別
相同點:都能刪除數據,都不會刪除表 結構
不同:
- truncate會重新設置自增列,計數器會歸零
- truncate不會影響事務
-- 測試delete和truncate的區別 create table test( id int(4) not null auto_increment, coll varchar(20) not null, PRIMARY key (id) )ENGINE=INNODB DEFAULT charset=utf8 -- delete不會影響自增(刪除瞭前三行,新增數據還是從第四行開始增加) delete from test -- truncat自增會歸零(刪除前三行,新增數據從1開始) truncate table test
瞭解:
delete刪除的問題,重啟數據庫,會產生如下現象:
innodb 自增列會從1開始(存在內存當中的,斷電即失)
myisam 繼續從上一個自增列開始(存在文件當中,不會丟失)
到此這篇關於MySQL數據管理操作示例講解的文章就介紹到這瞭,更多相關MySQL數據管理內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!