以oracle為例
create
table
[《使用者方案名》.]
《表名》
(《列名1
>
《資料型別》
[default
《預設值》][
《列約束》
]《列名2
>
《資料型別》
[default
《預設值》][
《列約束》][
,…n]
《表約束》
[,…n])[
as《子查詢》
]
(1)《使用者方案名》:使用者方案是指該錶所屬的使用者,如果省略則預設為當前登入的使用者。(2)default:關鍵字default指定某一列的預設值。預設值的資料型別必須與該列的資料型別相匹配,列的長度必須足以容納這一表示式值。
(3)《列約束》:定義乙個完整性約束作為列定義的一部分,該子句的語法為:
[not] null
[unique]
[ primary key] 例如:primary key(《列名1>, 《列名2>[,…n])
[ references [《使用者方案名》.] 《表名》(《列名》)]
[check(《條件表示式》)]
(4)《表約束》:定義乙個完整性約束作為表定義的一部分。
(5)as 《子查詢》:表示將由子查詢返回的行插入到所建立的表中
/*例子*/
create
table xsb
( 學號 char(6
)not
null
primary
key,
姓名 char(8
)not
null
, 性別 char(2
)default
'男'not
null
, 出生時間 date
notnull
, 專業 char(12
)null
, 總學分 number(2)
null
, 備註 varchar2(
200)
null);
/*建立xsb表中計算機專業學生的記錄備份表,表名為xs_jsj*/
create
table xs_jsj
asselect
*from xsb
where 專業=
'計算機'
;
alter
table
[《使用者方案名》.]
《表名》
[add
(《新列名》
《資料型別》
[default
《預設值》
][列約束]
,…n)
]/*增加新列*/
[modify([
《列名》
[《資料型別》][
default
《預設值》
][列約束]
,…n)
]/*修改已有列屬性*/
[<
drop子句》
]
說明:(1)add子句:用於向表中增加乙個新列,新的列定義和建立表時定義列的格式一樣,一次可新增多個列,中間用逗號隔開。
(2)modify子句:用於修改表中某列的屬性(資料型別、預設值等)。在修改資料型別時需要注意,如果表中該列所存資料的型別與將要修改的列型別衝突,則會發生錯誤。例如,原來char型別的列要修改為number型別,而原來列值中有字元型資料「a」,則無法修改。
(3)drop子句:該子句用於從表中刪除指定的字段或約束,語法格式為:
drop
alter
table xs_jsj
add(獎學金等級 number(1)
, 等級說明 varchar2(40)
default
'獎金1000元');
alter
table xs_jsj
add(constraint
"pk_jsj"
primary
key(學號));
alter
table xs_jsj
modify
(等級說明 default
'獎金800元');
alter
table xs_jsj
drop
column 獎學金等級;
alter
table xs_jsj
drop
column 等級說明;
drop
table
[《使用者方案名》.]
《表名》
/*刪除表*/
drop
table xs_jsj;
1、insert語句
/*1、*/
insert
into
《表名》[(
《列名1
>
,《列名2
>
,…n)
]values
(《列值1
>
,《列值2
>
,…n)
insert
into xsb(學號, 姓名, 性別, 出生時間, 專業, 總學分)
values
('151114'
,'周何駿'
,'男'
,to_date(
'19980925'
,'yyyymmdd'),
'計算機',90
);/*2、*/
create
table test
( 姓名 char(20
)not
null
, 專業 varchar2(30)
default
('計算機'),
年級 number not
null);
//用insert向test表中插入一條記錄:
insert
into test(姓名, 年級)
values
('周何駿',3
);/*3、*/
insert
into
《表名》
《結果集》
/*例子*/
insert
into xsb1
select 學號, 姓名, 專業
from xsb
where 姓名=
'王林'
;
2、merge語句
在oracle 12c中有merge語句,用於根據與源表聯接的結果,對目標表執行插入、更新或刪除操作。例如,根據在乙個表中找到的差異在另乙個表中插入、更新或刪除行,這種方法可以對兩個表進行資訊同步。
merge
into
《目標表名》
using
《源表名》on(
《條件表示式》
)when
matched
then
when
notmatched
then
insert
(…)values
(…)merge
into a
using xsb on
(a.xh=xsb.學號)
when
matched
then
update
set a.xm=xsb.姓名, a.xb=xsb.性別, a.cssj=xsb.出生時間,
a.zy=xsb.專業, a.zxf=xsb.總學分, a.bz=xsb.備註
when
notmatched
then
insert
values
(xsb.學號,xsb.姓名,xsb.性別,xsb.出生時間,xsb.專業,xsb.總學分, xsb.備註)
;
1、delete語句
該語句的功能為從指定的表中刪除滿足條件的行,若省略where子句,表示刪除所有行。
delete
from
《表名》
[where
《條件表示式》
]/*例子*/
delete
from xsb
where zxf <
50;
2、trancate table語句
如果確實要刪除乙個大表裡的全部記錄,可以用truncate table語句,它可以釋放占用的資料塊表空間,此操作不可回退。【謹慎使用!】
truncate
table
《表名》
update語句可以用來修改表中的資料行
update
《表名》
set《列名》= [
,…n]
[where
《條件表示式》
]update xsb
set 備註=
'輔修計算機專業'
where 學號=
'151114'
;
資料庫實驗二 資料庫 表的建立和維護
建立資料庫 create database hisdb 選擇當前資料庫 use hisdb 建立doctor表 create table doctor did varchar 6 not null primary key,dname varchar 10 not null title varchar...
建立和使用資料庫
建立和使用資料庫 建立資料庫 create database 資料庫名 資料庫名在伺服器中必須是唯一的,並且符合識別符號規則 連線到資料庫 use 資料庫名 刪除資料庫 drop database 資料庫名 整數資料型別 tinyint型 使用tinyint資料型別時,儲存資料的範圍是從0到255....
建立和檢視資料庫
建立和檢視資料庫 一 建立資料庫 建立資料庫的基本語法 create database 資料庫名稱 例 建立乙個名稱為itcast的資料庫,sql語句如下所示 create database itcast 執行結果如圖 二 檢視資料庫 檢視是否建立了名稱為itcast的資料庫 檢視資料庫,sql語句...