day04 : SQL_DDL, 表创建及管理
對于數據庫而言實際上每一張表都表示是一個數據庫的對象,而數據庫對象指的就是DDL定義的所有操作,例如:表,視圖,索引,序列,約束等等,都屬于對象的操作,所以表的建立就是對象的建立,而對象的操作主要分為以下三類語法:
? 創建對象:CREATE 對象名稱...;
? 刪除對象:DROP 對象名稱...;
? 修改對象:ALTER 對象名稱...;
常用的數據字段
?每一張數據表實際上都是由若干個字段組成,而每一個字段都會有其對應的數據類型,在oracle中,常用的數據類型有以下幾種:
? 字符串 VARCHAR2(n) n表示的是字符串所能保存的最大長度,基本上保存200個左右的內容
? 整數 NUMBER(n) 表示最多為n位的整數,有時候可以使用INT代替
? 小數 NUMBER(n,m) 其中m為小數位,n-m為整數位,有時候可以用FLOAT代替 ? 7,2 ? * * * * * .* *?
? 日期 DATE ?存放日期時間
? 大文本 CLOB ?可以存儲海量文字(4Gb),例如存儲小說等
? 大對象 BLOB ?存放二進制,例如:電影,MP3,圖片,文字
? LOB ??
?一般在開發之中使用最多的是VARCHAR2()、NUMBER、DATE、CLOB,而對于BLOB數據類型一般使用較少,一是因為會導致數據庫過于龐大,一是讀取不方便。
1、表的創建
語法: CREATE TABLE 表名稱(字段1 數據類型 [DEFAULT 默認值],字段2 數據類型 [DEFAULT 默認值],.....字段3 數據類型 [DEFAULT 默認值] );#創建一張表,保存:姓名、年齡、生日、個人簡介 SQL> create table member(2 name varchar2(20) default 'wuming',3 age number(3),4 birthday date default sysdate,5 content clob6 );#表中插入數據 SQL> insert into member(name,age,birthday,content) values(2 'reyn',22,to_date('1999-11-11','yyyy-mm-dd'),'superman'); SQL> insert into member values(2 'reyn_vip',20,to_date('1998-01-12','yyyy-mm-dd'),'superman'); #執行以下語句來查看插入數據時默認值的情況 SQL> insert into member(age,content) values(2 18,'superman');# 表的創建是數據庫對象的創建,使用的是CREATE語法。2、表的復制
表的復制語法: CREATE TABLE 復制表名稱 AS 子查詢#復制一張包含20部門員工的表 SQL> create table emp20 as select * from emp where deptno = 20; #復制emp表的表結構,不要數據 SQL> create table empnull as select * from emp where 1=2;##該語句只有ORACLE支持,其他數據庫可能存在不同的方法。3、為表重命名
為表重命名在oracle數據庫中,所有的數據實際上都是通過數據字典保存的,如:SELECT * FROM TAB;以上就是一個數據字典。在oracle中,提供了四種類型的數據字典,最常用的是:cdb_、dba_、user_、all_下面演示一個user_tables數據字典SQL> select * from user_tables;也就是說oracle中的所有數據都是按照文件保存的,那么所有的內容都會在數據字典中注冊,所謂的修改表名稱實際上就是修改一條數據。修改表名稱的方法如下: RENAME 舊的表名稱 TO 新的表名稱;#修改member表為person SQL> rename member to person;SQL> select * from person; 這種方法是oracle數據庫所獨有,了解即可。4、截斷表
截斷表
?在之前講過的刪除表數據的操作,使用的是DELETE操作,但是這種刪除操作本身有一個特點就是可以進行事務的回滾,也就是說刪除之后并不會立即釋放數據的資源:
5、表的刪除
表的刪除操作指的是數據庫對象的刪除,使用DROP語句,語法如下:
DROP TABLE 表名稱
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
總結
以上是生活随笔為你收集整理的day04 : SQL_DDL, 表创建及管理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: day03: oracle的sql增 、
- 下一篇: day05:SQL_DCL ,权限控制