insert語句
主鍵自增時,補0
--插入單行資料
insert
into
table
(column1,column2...
)values
(value1,value2,..
.);--插入多行資料
insert
into
table
(column1,column2...
)values
(value1,value2,..
.),(value1,value2,..
.),(value1,value2,..
.);--使用 insert 和 select 子句完全或部分複製表
insert
into table_1 select c1, c2,
from table_2;
--將 tasks 表複製到 tasks_bak 表
create
table tasks_bak like tasks;
insert
into tasks_bak select
*from tasks;
--如果在 insert 語句中指定on duplicate key update選項, mysql將插入新行或使用新值更新原行記錄。
insert
into
table
(task_id,subject,start_date,end_date,description)
values(4
,'test on duplicate key update'
,'2017-01-01'
,'2017-01-02'
,'next priority')on
duplicate
keyupdate
--task_id = task_id + 1,
subject =
'test on duplicate key update'
;--使用 insert ingore 語句, 則會忽略導致錯誤的行, 並將其餘行插入到表中
use testdb;
create
table
ifnot
exists subscribers (
id int
primary
keyauto_increment
,email varchar(50
)not
null
unique);
insert
into subscribers(email)
values
('[email protected]');
insert
into subscribers(email)
values
('[email protected]'),
('[email protected]');
--1062 - duplicate entry '[email protected]' for key 'email'
insert
ignore
into subscribers(email)
values
('[email protected]'),
('[email protected]');
--mysql伺服器返回一條訊息, 顯示插入一行, 另一行被忽略。
--query ok, 1 row affected
--records: 2 duplicates: 1 warnings: 1
--使用 show warnings 語句, 就會發現警告的詳細資訊
update語句--語法
update
[low_priority]
[ignore
] table_name
set column_name1 = expr1, column_name2 = expr2,..
.where condition;
--注意事項, where 子句非常重要,如果省略 where 子句, 則 update 語句將更新表中的所有行。
--update一列
--更新為新的電子郵件
select firstname, lastname, email from employees where employeenumber =
1056
;update employees set email =
where employeenumber =
1056
;--update多列
update employees set lastname =
'hill'
, email =
where employeenumber =
1056
;
delete語句--語法
delete
from table_name where condition;
--刪除單條
delete
from employees where officecode =4;
--刪除多條
delete
from employees where officecode in(2
,3,5
,6);
--全刪
delete
from employees;
--限制要刪除的行數, 則使用limit子句,並指定行順序
delete
from table_name order
by c1, c2,..
.limit row_count
--按客戶名稱按字母排序客戶, 並刪除前 10 個客戶
delete
from customers order
by customername limit10;
--選擇法國(france)的客戶, 按公升序按信用額度( creditlimit )進行排序, 並刪除前 5 個客戶
delete
from customers where country =
'france'
order
by creditlimit limit5;
--級聯刪除:on delete cascade,班級中有多個學生,刪除班級的同事要把班級中的學生都刪除。
該教程暫停一段時間吧! 從零開始學習MySQL 基礎查詢教程2 005
between 運算子 between and 查詢 在 90 和 100 含 90 和 100 元範圍內的商品 前後都包含 select from products where buyprice between 90and 100 select from products where buypri...
MySql從零開始學習筆記(二)
表的基本操作 1 建立表 create database person 2 修改表名 alter table 表名 rename 新錶名 3 新增列 alter table 表名 add column 列名 varchar 30 4 刪除列 alter table 表名 drop column 列名...
從零開始學 mysql
以下是我個人見解,不喜勿噴,如有錯誤,還望各路大神多多指教 首先介紹一下資料庫 什麼是資料庫 資料庫 database 是按照資料結構來組織 儲存和管理資料的倉庫。度娘 我的理解 資料庫就是存放資料的地方,可以幫我管理資料的乙個工具 這裡介紹資料庫和分類 什麼是mysql mysql 是一種關係型資...