SQL DDL 基礎語法

2022-03-11 05:11:48 字數 1564 閱讀 8542

如果我們僅僅需要除去表內的資料,但並不刪除表本身,那麼我們該如何做呢?

請使用 truncate table 命令(僅僅刪除**中的資料):

truncate table 表名稱

我們通常希望在每次插入新紀錄時,自動地建立主鍵欄位的值。

我們可以在表中建立乙個 auto-increment 字段。

用於 mysql 的語法

下列 sql 語句把 "persons" 表中的 "p_id" 列定義為 auto-increment 主鍵:

create table persons

(p_id

intnot null auto_increment,

lastname varchar(

255) not null,

firstname varchar(

255),

address varchar(

255),

city varchar(

255),

primary key (p_id)

)

用於 sql server 的語法

下列 sql 語句把 "persons" 表中的 "p_id" 列定義為 auto-increment 主鍵:

create table persons

(p_id

intprimary key identity(20,10), //從20開始,每次增加10

lastname varchar(

255) not null,

firstname varchar(

255),

address varchar(

255),

city varchar(

255)

)

在 oracle 中,**稍微複雜一點。

您必須通過 sequence 對建立 auto-increment 字段(該物件生成數字序列)。

請使用下面的 create sequence 語法:

create sequence seq_person

minvalue

1start with

1increment by

1cache

10

上面的**建立名為 seq_person 的序列物件,它以 1 起始且以 1 遞增。該物件快取 10 個值以提高效能。cache 選項規定了為了提高訪問速度要儲存多少個序列值。

insert into persons (p_id,firstname,lastname)

values (seq_person.nextval,

'lars

','monsen

')

上面的 sql 語句會在 "persons" 表中插入一條新紀錄。"p_id" 的賦值是來自 seq_person 序列的下乙個數字。"firstname" 會被設定為 "bill","lastname" 列會被設定為 "gates"。

常用SQL DDL語句

ddl 資料庫定義語言 直接提交的。create 用於建立資料庫物件。declare 除了是建立只在過程中使用的臨時表外,declare語句和create語句非常相似。唯一可以被宣告的物件是表。並且必須放入使用者臨時表空間。drop 可以刪除任何用create 資料庫物件 和declare 表 建立...

SQL DDL關於表的操作

一 修改表 語法 alter table 表名 add modify change drop column 欄位名 字段型別 字段約束 修改表名 alter table stuinfo rename to students 新增字段 alter table students add column b...

SQLDDL語言對錶的操作

表的管理.一 表的建立 create table 表名 列名 列的型別 約束 列名 列的型別 約束 案例 建立表book create table book id varchar 20 bname varchar 20 bprice double,authorid varchar 20 二 表的修改...