資料操作語言
插入:insert
修改:update
刪除:delete
方式一:
語法:
insert into 表名(列名,...)
values(值1,...);
1.插入的值的型別要與列的型別一致或相容
insert into beauty(id,name,***,borndate,phone,photo,boyfriend_id)
values(13,'唐藝昕','女','1990-4-23', '1898888888',null,2);
2.不可以為null的列必須插入值,可以為null的列如何插入值?
方式一:(photo可以為null)
insert into beauty(id,name,***,borndate,phone,photo,boyfriend_id)
values(13,'唐藝昕','女','1990-4-23', '1898888888',null,2);
方式二:(photo可以為null)(直接省略photo)
insert into beauty(id,name,***,borndate,phone,boyfriend_id)
values(13,'唐藝昕','女','1990-4-23', '1898888888',2);
3.列的順序可以調換
insert into beauty(name,id,***,borndate,phone,boyfriend_id)
values('唐藝昕',13,'女','1990-4-23', '1898888888',2);
方式二:
語法:
insert into 表名
set 列名=值,列名=值,...
例:
insert into beauty
set id=19,name='劉濤',phone='999';
兩種插入方式比較:
方式一 支援插入多行但方式二不支援(批量插入)
insert into beauty
values ('唐藝昕',13,'女','1990-4-23', '1898888888',2),
('唐藝昕',14,'女','1990-4-23', '1898888888',2),
('唐藝昕',15,'女','1990-4-23', '1898888888',2);
方式一支援子查詢,方式二不支援
insert into beauty(id,name,phone)
select 26,'宋茜','11809866';
insert into beauty(id,name,phone)
select id,boyname
from boys where id<3
修改單錶的記錄
語法:
update 表名
set 列=新值,列=新值,...
where 篩選條件;(不加篩選條件則對錶中所有的行進行修改)
案例1:修改beauty表中姓唐的女生的**為13899888899
update beauty
set phone = 13899888899
where name like '唐%'
案例2:修改男生表中id=2的男生的姓名為張飛,usercp為10
update boys
set boyname='張飛',usercp=10
where id = 2;
修改多表的記錄
sq192語法:
update 表1,別名,表2,別名
set 列=值,...
where 連線條件
and 篩選條件;
sq199語法
update 表1 別名
inner|left|right join 表2 別名
on 連線條件
set 列=值,...
where 篩選條件;
案例1:修改張無忌的女朋友的手機號為114
update boys bo
inner join beauty b
on bo.id = b.boyfriend_id
set b.phone = '114'
where bo.boyname = '張無忌';
案例2:修改沒有男朋友的女生的男朋友編號都為2號
update boys bo
right join beauty b
on bo.id = b.boyfriend_id
set b.boyfriend_id = 2
where bo.id is null;
單錶的刪除
方式一:delete(刪整行)
delete from 表名 where 篩選條件
方式二:truncate(刪除整個表,不能加篩選條件)
truncate table 表名
多表的刪除(補充)
sq192語法:
delete 表1的別名,表2的別名
from 表1 別名,表2 別名
where 連線條件
and 篩選條件
sq199語法
delete 表1的別名,表2的別名
from 表1 別名
inner|left|right join 表2 別名 on 連線條件
where 篩選條件;
案例1:刪除手機號以9結尾的女神資訊
delete from beauty where phone like '%9';
案例2:刪除張無忌的女朋友的資訊
delete b
from beauty b
inner join boys bo
on b.boyfriend_id = bo.id
where bo.boyname = '張無忌';
案例3:刪除黃曉明的資訊以及他女朋友的資訊
delete b, bo
from beauty b
inner join boys bo
on b.boyfriend_id = bo.id
where bo.boyname = '黃曉明';
【面試題*】
delete與truncate比較:
delete可以加where條件,truncate不能加
truncate刪除,效率高一點點
假如要刪除的表中有自增長列,如果用delete刪除後,再插入資料,自增長列的值從斷點處開始
而truncate刪除後,再插入資料,自增長列的值從1開始
truncate刪除沒有返回值,delete刪除有返回值
truncate刪除不能回滾,delete刪除可以回滾
MySQL學習13 MySQL日誌
日誌 描述重做日誌 redo log 一種物理格式的日誌,記錄的是物理資料頁面的修改的資訊,其redo log是順序寫入redo log file的物理檔案中去的。回滾日誌 undo log 一種邏輯格式的日誌,在執行undo的時候,僅僅是將資料從邏輯上恢復至事務之前的狀態,而不是從物理頁面上操作實...
(1 3)MySQL 基本操作
整理自 慕課網 mysql概述 目錄 1 啟動 關閉mysql服務 2 mysql登入與退出 3 mysql常用命令及語法規範 3.1修改提示符 3.2 常用命令 3.3mysql語句的規範 開啟cmd命令視窗,由於已配置mysql系統環境變數,所以可以在任何目錄下啟動和停止mysql服務。1 啟動...
牛客MySQL教程 1 3MySQL管理
筆記 1.show columns from 資料表 顯示資料表的屬性,屬性型別,是否為null,主鍵,預設值 2.建立新使用者 create user guest localhost identified by guest123 grant select,insert,update,delete,...