保存數據的方式,經歷了手工管理、文件管理等階段,直至數據庫管理階段。
數據庫(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