從零開始學習MySQL 基礎修改教程1 007

2021-10-04 03:36:53 字數 3264 閱讀 5742

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 =

'[email protected]'

where employeenumber =

1056

;--update多列

update employees set lastname =

'hill'

, email =

'[email protected]'

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 是一種關係型資...