數據模型表示實體類型和實體間聯系的模型,分為層級模型、網狀模型、關系模型、面向對象模型。
關系名(也就是表名)和關系的屬性集放在一塊稱為關系的模式。例如:Student(Xuehao,Name,Sex,Age,Dept)
完整性約束主要有三類:
1。實體完整性約束:主鍵不能為空值
2。參照完整性約束:外鍵要么為空值要么為一個確已存在的主鍵值
3。用戶定義的完整性約束:鍵的取值要符合一定的實際意義
DML語句包括(SELECT、INSERT、DELETE和UPDATE);
DDL語句包括(CREATE,DROP,ALTER);
DCL語句包括(GRANT,REVOKE)。
SQL常用數據類型:
INTEGER
NUMERIC/DECIMAL
NUMERIC(N,M)/DECIMAL(N,M)
CHAR(N)
VARCHAR(N)
BOOLEAN
DATA
TIME
邏輯運算符:
AND OR NOT
比較運算符:
<>不等于
!>不大于
!<不小于
SQL函數有:
聚合函數:AVG(),COUNT(),MAX(),MIN(),SUM()
算數函數:ABS,COS,SIGN,POWER
字符串函數:LEFT,LENGTH,LOWER,RIGHT,SUBSTR,UPPER
時間日期函數:CURDATE,CURTIME,HOUR,MINUTE,MONTH,YEAR,WEEK,SECOND
《DCT》
CREATE TABLE Student
{
Xuehao CHAR(7) PRIMARY KEY,
Name CHAR(8) NOT NULL,
Sex CHAR(2),
Age SMALLINT,
Dept CHAR(10) DEFAULT '計算機'
};
ALTER TABLE Student ADD Address CHAR(30);
ALTER TABLE Student MODIFY Address CHAR(40);
ALTER TABLE Student DROP Address CASCADE;
DROP TABLE Student CASCADE;
《DML》
SELECT [DISTINCT|ALL] select_expression
[INTO table_name]
FROM table_list
[WHERE where_conditions]
[GROUP BY col_name1,col_name2,...]
[HAVING where_conditions]
[ORDER BY col_name1 [ASC|DESC],col_name2 [ASC|DESC],...]
說明:HAVING必須在有GROUP存在時才能使用,HAVING就是篩選組的篩選器,和WHERE一樣,只不過WHERE是篩選記錄的。
INSERT INTO table_name[(attribute_list)]
VALUES(value1,value2,...) |
SELECT 查詢語句 |
TABLE table_name_another
這里要插入的數據可以有三種方法來插入。
UPDATE table_name
SET (column1={expression|DEFAULT|NULL}) [column2=...]
WHERE where_conditions
DELETE FROM table_name
WHERE where_conditions
JDBC編程
1。加載驅動Class.forName("...");
2。用DriverManager.getConnection得到一個Connection對象conn;
3。用conn.createStatement()得到一個Statement對象stmt;
4。用stmt.executeQuery得到一個ResultSet對象rs;
5。