insert語句
insert values語句可以將基於指定值的行插入表。
sql server2008增強了values語句的功能,允許在一條語句中指定由逗號隔開的多行記錄。例如:
insert into t_order
values (1,1,'冰箱','2017-01-01'),
(2,1,'洗衣機','2017-01-01'),
(3,1,'電視','2017-01-01')
這個操作是原子操作,這意味這如果有任何一行報錯,那麼所有行都會插入失敗。
sql server2008還增強了values子句的功能,現在可以用它來構建虛擬表(virtual table)。這種功能成為行值建構函式(row value contructor),或表值建構函式(table value contructor)。例如:
select * from
(values(1,'usa'),(2,'chi'),(3,'fra'))
as o(id,country)
它會生成如下表:
可以使用
insert into
select
from 高效地將大量行從乙個表(例如臨時表)傳輸到按最小方式記錄日誌的其他表中。
按最小方式記錄日誌可以提高語句的效能,減少在事務期間此操作填充可用事務日誌空間的可能性。
insert exec語句可以把儲存過程或動態sql批處理返回的結果及插入表中
select * into
from 語句的作用是建立乙個目標表,並用返回的結果填充它。
select into它可以複製**的表的基本結構(包括列名,資料結構,是否允許為null及identity屬性)和資料。不過它不會複製索引,觸發器,約束,如果需要這些東西,你可以手動新增。
select into 的另乙個優點是它會按照最小日誌記錄模式來執行操作,與完整日誌模式相比,這種模式執行效率很高。
bulk insert語句用於將檔案中的資料匯入乙個已經存在的表。
identity屬性,被它標識的數字型別的列,能在插入資料時自動遞增。
如果你想獲取這個新生成的標識值(例如:你想獲取新增的物件),可以查詢@@identity或者scope_identity(),
推薦使用
scope_identity()因為它會返回當前作用域內會話生成的最後乙個識別符號,而@@identity則不會考慮。
Go 語言操作 MySQL 之 CURD 操作
mysql 是目前開發中最常見的關係型資料庫,使用 go 語言進行操控資料庫需要使用 go 自帶database sql和驅動go sql driver mysql來實現,建立好 go 專案,需要引用驅動依賴 go get u github.com go sql driver mysql使用 mys...
MySQL資料CURD操作
大聖網路 2017 01 28 08 23 我們平時90 以上都是對錶中資料進行增刪改查,而其中的查是使用最多最頻繁的操作。今天,說說幾個入門級的sql語句。新增資料 新增一條資料 方案1 給全表字段插入資料,不需要指定字段列表 要求資料的值出現的順序必須與表中設計的字段出現的順序一致 凡是非數值資...
使用PHP操作SQL 完成簡單的CURD操作
1 從資料庫出發,先建立測試資料,這裡使用的mysql,通過指令碼模式建立測試資料。set names utf8 drop database if exists disk create database disk charset utf8 use disk create table udisk ui...