NO.40 數據庫原理和SQL(DDL、DML)

保存數據的方式,經歷了手工管理、文件管理等階段,直至數據庫管理階段。

數據庫(Database,簡稱DB)是按照數據結構來組織、存儲和管理數據的倉庫。

數據庫管理系統(Database Management System,簡稱DBMS):管理數據庫的軟件。

主流數據庫產品:

Oracle(Oracle)

DB2(IBM)

SQL Server(MS)

MySQL(Oracle)


SQL語句不區分大小寫

SELECT SYSDATE FROM dual 獲取當前系統時間

SQL語句分為:

DDL、DML、TCL、DQL、DCL

DDL:數據定義語言

DDL用于維護數據庫對象使用

數據庫對象:表,視圖,索引,序列。

1)創建表

CREATE TABLE employee_xxx(

id NUMBER(4),

name VARCHAR2(20),

gender CHAR(1),

birth DATE,

salary NUMBER(6,2),

job VARCHAR2(30),

deptno NUMBER(2)

)

2)查看表結構

DESC employee_xxx

在數據庫中,所有字段的默認值都是NULL,可以通過DEFAULT關鍵字指定一個默認值。

對于字符串而言,數據庫中字面量是使用單引號括起來的,這一點需要與java區分記憶。并且,雖然SQL語句本身不區分大小寫,但是字符串的值是區分大小寫的。

CREATE TABLE employee(

id NUMBER(4),

name VARCHAR2(20),

gender CHAR(1) DEFAULT 'M',

birth DATE,

salary NUMBER(6,2) DEFAULT 3000,

job VARCHAR2(30),

deptno NUMBER(2)

)

DESC employee

NOT NULL約束:當一個字段被NOT NULL修飾后,該字段不允許為空。

CREATE TABLE employee(

id NUMBER(4),

name VARCHAR2(20) NOT NULL,

gender CHAR(1) DEFAULT 'M',

birth DATE,

salary NUMBER(6,2) DEFAULT 3000,

job VARCHAR2(30),

deptno NUMBER(2)

)

DESC employee

3)刪除表:

DROP TABLE employee_xxx

4)修改表名:

RENAME old_name TO new_name

如:

RENAME employee TO myemp

5)修改表結構:

添加新的字段

ALTER TABLE myemp ADD (hiredate DATE)

DESC myemp

刪除現有字段

ALTER TABLE myemp DROP(hiredate)

修改現有字段

可以修改字段的類型,長度,默認值,非空約束但是應當在表中沒有數據的時候進行,否則盡量

不要修改類型,長度盡量只增不減。否則可能會修改失敗。

將JOB字段的長度變為40:

ALTER TABLE myemp MODIFY(job VARCHAR2(40))

另外,TRUNCATE可以刪除表數據,保留表結構。


DML語句:數據操作語言

DML是用來增,刪,改表中數據。DML是伴隨事務(TCL)控制的。

1)INSERT語句

INSERT語句用于向表中插入新數據

INSERT INTO myemp (id,name,job,deptno) VALUES (1,'jack','CLERK',10)

SELECT * FROM myemp

不指定字段則是全列插入,給定的值的類型與順序要與表中字段一致。

INSERT INTO myemp VALUES (2,'rose','F',SYSDATE,5000,'CLERK',10)

插入日期類型數據時,可以使用數據庫內置函數:

TO_DATE(char1,char2)

char1:一個具體日期的字符串

char2:指定的日期格式

INSERT INTO myemp (id,name,birth) VALUES (3,'bob',TO_DATE('1992-08-05','YYYY-MM-DD'))

SELECT * FROM myemp

2)UPDATE語句:修改表中數據

將id為2的員工性別改為"M",部門改為"20"

UPDATE myemp SET gender='M',deptno=20 WHERE id=2

3)DELETE語句:刪除數據

DELETE FROM myemp WHERE salary<5000

UPDATE語句與DELETE語句都需要使用WHERE添加過濾條件,否則是對表中所有數據的操作。

SELECT * FROM myemp

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,908評論 6 541
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,324評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,018評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,675評論 1 317
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,417評論 6 412
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,783評論 1 329
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,779評論 3 446
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,960評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,522評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,267評論 3 358
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,471評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,009評論 5 363
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,698評論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,099評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,386評論 1 294
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,204評論 3 398
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,436評論 2 378

推薦閱讀更多精彩內容

  • SQL語言基礎 本章,我們將會重點探討SQL語言基礎,學習用SQL進行數據庫的基本數據查詢操作。另外請注意本章的S...
    厲鉚兄閱讀 5,342評論 2 46
  • 5.DML DML 語句 語句操作語言 INSERT UPDATE DELETE MERGE INSERT 方法:...
    喬震閱讀 986評論 0 0
  • 關系型數據庫和SQL SQL語言的三個部分DML:Data Manipulation Language,數據操縱語...
    Awey閱讀 1,962評論 0 13
  • 5.多表查詢 多表查詢 目的:從多張表獲取數據 前提:進行連接的多張表中有共同的列 等連接 通過兩個表具有相同意義...
    喬震閱讀 1,284評論 0 0
  • 特種兵常規作業: 作業一:每日晨間朋友圈見證(必須在12點之前完成) 作業二:每天朋友圈心得(當天晚上12點之前完...
    米娜_9228閱讀 261評論 0 0