已閱讀5頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
數(shù)據(jù)庫1 常見數(shù)據(jù)庫1.1 MySql : 甲骨文1.2 Oracle: 甲骨文1.3 SQL Server: 微軟1.4 Sybase: 賽爾斯1.5 DB2: IBM2 MySql基礎(chǔ)知識2.1 關(guān)系結(jié)構(gòu)數(shù)據(jù)模型數(shù)據(jù)庫2.2 SQL(Structured Query Language)結(jié)構(gòu)化查詢語言2.2.1 DDL(Data Definition Language):數(shù)據(jù)定義語言,用來定義數(shù)據(jù)庫對象:庫、表、列等操作數(shù)據(jù)庫CREATE DATABASE IF NOT EXISTSmydb1USE mydb1DROP DATABASE IF NOT EXISTS mydb1ALTER DATABASE mydb1 CHARACTER SET utf8操作表插入表CREATE TABLE stu( sid CHAR(6), sname VARCHAR(20), age INT, gender VARCHAR(10) );更改表ALTER TABLE t_user ADD (student varcher(20)ALTER TABLE t_user MODIFY gender CHAR(20)ALTER TABLE t_user CHANGE gender VARCHER(20)ALTER TABLE t_user REMANE genderTO gendersALTER TABLE t_user DROP gender刪除表DROP TABLE t_user2.2.2 DML(Data Manipulation Language):數(shù)據(jù)操作語言,用來定義數(shù)據(jù)庫記錄(數(shù)據(jù))插入數(shù)據(jù)INSERT INTO t_user VALUES()INSERT INTO 表名 VALUES(值1,值2,)更新數(shù)據(jù)UPDATE t_user SET name=UPDATE 表名 SET 列名1=值1, 列名n=值n WHERE 條件刪除數(shù)據(jù)雖然TRUNCATE和DELETE都可以刪除表的所有記錄,但有原理不同。DELETE的效率沒有TRUNCATE高!TRUNCATE其實(shí)屬性DDL語句,因?yàn)樗窍菵ROP TABLE,再CREATE TABLE。而且TRUNCATE刪除的記錄是無法回滾的,但DELETE刪除的記錄是可以回滾的(回滾是事務(wù)的知識?。?。 DELETE FROM t_user DELETE FROM 表名 WHERE 條件TRUNCATE TABLE stu; TRUNCATE TABLE 表名2.2.3 DCL(Data Control Language):數(shù)據(jù)控制語言,用來定義訪問權(quán)限和安全級別創(chuàng)建用戶CREATE USER 用戶名地址 IDENTIFIED BY 密碼;給用戶授權(quán)GRANT 權(quán)限1, , 權(quán)限n ON 數(shù)據(jù)庫.* TO 用戶名查看用戶權(quán)限SHOW GRANTS FOR 用戶名撤銷用戶權(quán)限REVOKE權(quán)限1, , 權(quán)限n ON 數(shù)據(jù)庫.* FORM 用戶名刪除用戶DROP USER 用戶名修改用戶名密碼UPDATE USER SET PASSWORD=PASSWORD(1234) WHERE User=user2 and Host=localhost; FLUSH PRIVILEGES;2.2.4 DQL(Data Query Language):數(shù)據(jù)查詢語言,用來查詢記錄(數(shù)據(jù))基礎(chǔ)查詢SELECT selection_list /*要查詢的列名稱*/FROM table_list /*要查詢的表名稱*/WHERE condition /*行條件*/GROUP BY grouping_columns /*對結(jié)果分組*/HAVING condition /*分組后的行條件*/ORDER BY sorting_columns /*對結(jié)果分組*/LIMIT offset_start, row_count /*結(jié)果限定*/模糊查詢SELECT * FROM t_user WHERE name LIKE_聚合函數(shù)COUNT(); MAX();MIN();AVG();SUM();多表查詢連接查詢內(nèi)連接SELECT * FROM department d INNER JOIN employee e ON d.deptno = e.deptno左連接SELECT * FROM department d LEFT JOIN employee e ON d.deptno = e.deptno右連接SELECT * FROM department d RIGHT JOIN employee e ON d.deptno = e.deptno自然連接查詢內(nèi)連接SELECT* FROM department d NATURAL INNER JOIN employee e左連接SELECT* FROM department d NATURAL LEFT JOIN employee e右連接SELECT* FROM department d NATURAL RIGHT JOIN employee e2.3 完整性約束(主外鍵)2.3.1 主鍵特點(diǎn)非空唯一被引用語法CREATE TABLE stu( sid CHAR(6) PRIMARY KEY, sname VARCHAR(20), age INT, gender VARCHAR(10) );ALTER TABLE stu ADD PRIMARY KEY(sid);CREATE TABLE stu( sid CHAR(6), sname VARCHAR(20), PRIMARY KEY(sid) );2.3.2 外鍵外鍵必須引用另一張票的主鍵CREATE TABLE t_section( sid INT PRIMARY KEY AUTO_INCREMENT, sname VARCHAR(30), u_id INT, CONSTRAINT fk_t_user FOREIGN KEY(u_id) REFERENCES t_user(uid) );2.4 多表查詢2.4.1 合并結(jié)果集笛卡爾積2.4.2 連接查詢內(nèi)連接方言Select * from emp AS e, dept AS d WHERE emp.deptno= dept.deptnoAS可以省略標(biāo)準(zhǔn)SELECT * FROM emp e INNER JOIN dept d ON e.deptno = d.deptnoINNER 可以省略外連接左外連接Select * from emp e LEFT OUTER JOIN dept d ON e.deptno = d.deptno OUTER可以省略右外連接Select * from emp e RIGHT OUTER JOIN dept d ON e.deptno = d.deptno OUTER可以省略自然連接SELECT * FROM emp NATURAL JOIN dept;SELECT * FROM emp NATURAL LEFT JOIN dept;SELECT * FROM emp NATURAL RIGHT JOIN dept;2.4.3 子查詢子查詢結(jié)果集的形式 單行單列(用于條件) 單行多列(用于條件) 多行單列(用于條件) 多行多列(用于表)2.5 關(guān)系模型(表)2.5.1 一對多/多對一2.5.2 多對多2.5.3 一對一3 數(shù)據(jù)庫基礎(chǔ)知識3.1 JDBC3.1.1 JDBC(Java DataBase Connectivity)就是Java數(shù)據(jù)庫連接,說白了就是用Java語言來操作數(shù)據(jù)庫3.1.2 JDBC核心類(接口)介紹DriverManagerConnectionStatement用于向數(shù)據(jù)庫發(fā)送SQL語句l void executeUpdate(String sql):執(zhí)行更新操作(insert、update、delete等);l ResultSet executeQuery(String sql):執(zhí)行查詢操作,數(shù)據(jù)庫在執(zhí)行查詢后會(huì)把查詢結(jié)果,查詢結(jié)果就是ResultSet;批處理l void addBatch(String sql):添加一條語句到“批”中;l int executeBatch():執(zhí)行“批”中所有語句。返回值表示每條語句所影響的行數(shù)據(jù);l void clearBatch():清空“批”中的所有語句。PreparedStatementStatement接口的子接口優(yōu)點(diǎn) 防SQL攻擊; 提高代碼的可讀性、可維護(hù)性; 提高效率!API 給出SQL模板! 調(diào)用Connection的PreparedStatement prepareStatement(String sql模板); 調(diào)用pstmt的setXxx()系列方法sql模板中的?賦值! 調(diào)用pstmt的executeUpdate()或executeQuery(),但它的方法都沒有參數(shù)。批處理pstmt.addBatch()ResultSetrs.next();/光標(biāo)移動(dòng)到第一行rs.getInt(1);/獲取第一行第一列的數(shù)據(jù)3.2 DBUtils3.2.1 DBUtils是Apache Commons組件中的一員,開源免費(fèi),是對JDBC的簡單封裝3.2.2 API構(gòu)造方法QueryRunner qr = new QueryRunner();QueryRunner qr = new QueryRunner(dataSource)增刪改查update():執(zhí)行insert、update、delete;query():執(zhí)行select語句public T query(String sql, ResultSetHandler rh, Object params)public T query(Connection con, String sql, ResultSetHandler rh, Object params)batch():執(zhí)行批處理3.3 數(shù)據(jù)庫連接池3.3.1 Java為數(shù)據(jù)庫連接池提供了公共的接口:javax.sql.DataSource,各個(gè)廠商可以讓自己的連接池實(shí)現(xiàn)這個(gè)接口3.3.2 Tomcat配置連接池JNDI(Java Naming and Directory Interface),Java命名和目錄接口。JNDI的作用就是:在服務(wù)器上配置資源,然后通過統(tǒng)一的方式來獲取配置的資源。3.3.3 DBCPDBCP是Apache提供的一款開源免費(fèi)的數(shù)據(jù)庫連接池 BasicDataSource3.3.4 C3P0ComboPooledDataSourceC3P0也是開源免費(fèi)的連接池3.4 Java中的時(shí)間類型3.4.1 java.sql包下的三個(gè)時(shí)間類型的類都是java.util.Date的子類3.4.2 java.sql.Date - java.u
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《阿爾茨海默病湯穎》課件
- 養(yǎng)老院老人生活照料規(guī)范制度
- 養(yǎng)老院老人健康飲食營養(yǎng)師培訓(xùn)制度
- 政府委托課題項(xiàng)目合同(2篇)
- 斷絕關(guān)系協(xié)議書
- 2024年度衛(wèi)生紙品牌授權(quán)與區(qū)域代理銷售合同3篇
- 2025年陜西貨運(yùn)從業(yè)資格證實(shí)操考試題
- 2025年浙江貨運(yùn)從業(yè)資格證500道題目和答案大全
- 2025年臨汾貨運(yùn)員初級考試題庫
- 《腸桿菌科細(xì)菌鑒定》課件
- 主持人合同協(xié)議書范文模板
- 不付租金解除合同通知書
- 2024年達(dá)州水務(wù)集團(tuán)限公司招聘歷年【重點(diǎn)基礎(chǔ)提升】模擬試題(共500題)附帶答案詳解
- TDT 1079-2023 不動(dòng)產(chǎn)登記信息管理基礎(chǔ)平臺(tái)接入技術(shù)規(guī)范
- CJT480-2015 高密度聚乙烯外護(hù)管聚氨酯發(fā)泡預(yù)制直埋保溫復(fù)合塑料管
- 兒科三基測試試題庫及答案
- JCT 1021.2-2023 非金屬礦物和巖石化學(xué)分析方法 第2部分 硅酸鹽巖石、礦物及硅質(zhì)原料化學(xué)分析方法 (正式版)
- 2024年充換電站項(xiàng)目合作計(jì)劃書
- 教師口語藝術(shù)智慧樹知到期末考試答案章節(jié)答案2024年魯東大學(xué)
- 理論力學(xué)智慧樹知到期末考試答案章節(jié)答案2024年寧波大學(xué)
- 2024年江蘇省高中學(xué)業(yè)水平合格性考試數(shù)學(xué)試卷試題(答案詳解1)
評論
0/150
提交評論