中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

如何跟客戶(hù)介紹網(wǎng)站建設(shè)和推廣域名查詢(xún)網(wǎng)址

如何跟客戶(hù)介紹網(wǎng)站建設(shè)和推廣,域名查詢(xún)網(wǎng)址,wordpress科技企業(yè)主題,中國(guó)建筑土木建設(shè)有限公司目錄數(shù)據(jù)庫(kù)數(shù)據(jù)和信息Data數(shù)據(jù)數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)管理系統(tǒng)總結(jié)常見(jiàn)的數(shù)據(jù)庫(kù)管理系統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)連接查詢(xún)交叉連接、笛卡爾積內(nèi)連接左連接右連接嵌套查詢(xún)Jar在Java項(xiàng)目中使用.jar文件JDBC核心接口單表查詢(xún)SQL注入簡(jiǎn)化JDBC視圖View創(chuàng)建視圖使用視圖刪除視圖事務(wù)transaction事務(wù)的特性A…

目錄

  • 數(shù)據(jù)庫(kù)
  • 數(shù)據(jù)和信息
    • Data數(shù)據(jù)
  • 數(shù)據(jù)庫(kù)
  • 數(shù)據(jù)庫(kù)管理系統(tǒng)
  • 總結(jié)
  • 常見(jiàn)的數(shù)據(jù)庫(kù)管理系統(tǒng)
    • 關(guān)系型數(shù)據(jù)庫(kù)
  • 連接查詢(xún)
    • 交叉連接、笛卡爾積
    • 內(nèi)連接
    • 左連接
    • 右連接
  • 嵌套查詢(xún)
  • Jar
  • 在Java項(xiàng)目中使用.jar文件
  • JDBC
    • 核心接口
  • 單表查詢(xún)
  • SQL注入
  • 簡(jiǎn)化JDBC
  • 視圖View
    • 創(chuàng)建視圖
    • 使用視圖
    • 刪除視圖
  • 事務(wù)transaction
    • 事務(wù)的特性ACID
      • Atomicity原子性
      • Consistency一致性
      • Isolation隔離性
      • Durability持久性
  • 存儲(chǔ)引擎

數(shù)據(jù)庫(kù)

顧名思義,保存數(shù)據(jù)

數(shù)據(jù)和信息

Data數(shù)據(jù)

  • 任何描述事物的文字或符號(hào)都可以稱(chēng)為數(shù)據(jù)。
  • 軟件開(kāi)發(fā)就是為了收集數(shù)據(jù),從中篩選出有用的信息。
  • 信息就是進(jìn)過(guò)分析篩選后的數(shù)據(jù)。
  • 數(shù)據(jù)需要保存,保存的介質(zhì)有內(nèi)存或硬盤(pán)。
  • 內(nèi)存中的數(shù)據(jù)是臨時(shí)的,隨著系統(tǒng)的關(guān)閉,數(shù)據(jù)也會(huì)消失。
  • 硬盤(pán)中的數(shù)據(jù)是永久,就算系統(tǒng)關(guān)閉,數(shù)據(jù)依然保留。
  • excel等文件保存數(shù)據(jù)是一種保存到硬盤(pán)中的途徑,
  • 如果需要大量數(shù)據(jù)保存,文件系統(tǒng)就不再方便。
  • 使用一個(gè)系統(tǒng)化的數(shù)據(jù)倉(cāng)庫(kù)才能高效地管理數(shù)據(jù)。

數(shù)據(jù)庫(kù)

  • DataBase ,稱(chēng)為數(shù)據(jù)庫(kù),簡(jiǎn)稱(chēng)DB運(yùn)行在操作系統(tǒng)上,按照一定的數(shù)據(jù)結(jié)構(gòu),保存數(shù)據(jù)的倉(cāng)庫(kù)。是一個(gè)電子化的文件柜。
  • 數(shù)據(jù)永久保存在硬盤(pán)中。

數(shù)據(jù)庫(kù)管理系統(tǒng)

  • DataBase Manager System,簡(jiǎn)稱(chēng)DBMS
    通常所說(shuō)的數(shù)據(jù)庫(kù),其實(shí)是指數(shù)據(jù)庫(kù)管理系統(tǒng),如MySQL、SQLServer、Oracle等。
  • 是一種操作和管理數(shù)據(jù)庫(kù)的大型軟件,用于建立、使用和維護(hù)數(shù)據(jù)庫(kù)。

總結(jié)

數(shù)據(jù)Data需要永久保存在數(shù)據(jù)庫(kù)中
學(xué)號(hào)(字段) 姓名(字段) 專(zhuān)業(yè)(字段)
1001 小王 計(jì)算機(jī)
1002 小李 計(jì)算機(jī)
1003 小趙 計(jì)算機(jī)
數(shù)據(jù)庫(kù)DB是運(yùn)行在操作系統(tǒng)上的一個(gè)軟件
數(shù)據(jù)庫(kù)管理系統(tǒng)DBMS是管理數(shù)據(jù)庫(kù)的一個(gè)軟件
學(xué)習(xí)數(shù)據(jù)庫(kù)就是學(xué)習(xí)如何使用DBMS創(chuàng)建、使用數(shù)據(jù)倉(cāng)庫(kù)來(lái)管理數(shù)據(jù)

常見(jiàn)的數(shù)據(jù)庫(kù)管理系統(tǒng)

關(guān)系型數(shù)據(jù)庫(kù)

  • 關(guān)系型數(shù)據(jù)庫(kù)是主流的數(shù)據(jù)庫(kù)類(lèi)型。
  • 數(shù)據(jù)通過(guò)行row和列column的形式(表格)保存。

每行稱(chēng)為一條記錄。
每列稱(chēng)為一個(gè)字段。

連接查詢(xún)

交叉連接、笛卡爾積

將兩張表中的數(shù)據(jù)兩兩組合,得到的結(jié)果就是交叉連接的結(jié)果,也稱(chēng)為笛卡爾積。

集合A:{a,b}

集合B:{1,2,3}

集合A x 集合B = {a1,a2,a3,b1,b2,b3}

select * from1,2;
select * from1 cross join2;  
select * from1 inner join2;

以上三種方式都能將兩張表中的數(shù)據(jù)互相組合,其中有很多無(wú)效數(shù)據(jù)。

內(nèi)連接

在交叉連接的基礎(chǔ)上,篩選出關(guān)聯(lián)的數(shù)據(jù)。

select * from1,2 where1.字段 =2.字段;
select * from1 inner join2 on1.字段 =2.字段;-- 如查詢(xún)所有圖書(shū)詳情和類(lèi)型名
select * from 圖書(shū)詳情表 t1,圖書(shū)類(lèi)型表 t2 where t1.類(lèi)型編號(hào) = t2.類(lèi)型編號(hào);select * from 圖書(shū)詳情表 t1 inner join 圖書(shū)類(lèi)型表 t2 on t1.類(lèi)型編號(hào) = t2.類(lèi)型編號(hào);
  • 通常是通過(guò)主表的主鍵字段關(guān)聯(lián)從表的外鍵字段
  • 如果兩張表中關(guān)聯(lián)的字段名一致,一定要通過(guò)"表名.字段名"進(jìn)行區(qū)分,通常還會(huì)給表重命名
  • 如果使用inner join,帶條件時(shí)需要加入where子句;如果使用,隔開(kāi)多個(gè)表,帶條件時(shí)需要使用and拼接條件
  • 內(nèi)連接只會(huì)顯示兩張表中有關(guān)聯(lián)的數(shù)據(jù)

左連接

-- 保證左表數(shù)據(jù)顯示完整的情況下,關(guān)聯(lián)右表中的數(shù)據(jù),沒(méi)有關(guān)聯(lián)的用null表示
select * from1 left join2 on1.字段 =2.字段
-- 最終顯示表1中的所有數(shù)據(jù),關(guān)聯(lián)表2中的數(shù)據(jù)

右連接

-- 保證右表數(shù)據(jù)顯示完整的情況下,關(guān)聯(lián)左表中的數(shù)據(jù),沒(méi)有關(guān)聯(lián)的用null表示
select * from1 right join2 on1.字段 =2.字段
-- 最終顯示表2中的所有數(shù)據(jù),關(guān)聯(lián)表1中的數(shù)據(jù)

嵌套查詢(xún)

將查詢(xún)出的結(jié)果繼續(xù)使用在另一個(gè)查詢(xún)語(yǔ)句中

-- 查詢(xún)價(jià)格最低的圖書(shū)信息
select * from book_info where book_price = (select min(book_price) from book_info)
-- 按類(lèi)型分組,查詢(xún)每組中圖書(shū)價(jià)格大于平均價(jià)格的圖書(shū)
select * from book_info bi inner join 
(select type_id,avg(book_price) as avg from book_info group by type_id)temp
on bi.type_id = temp.type_id  where book_price > avg

Jar

以.jar為后綴的文件,稱(chēng)為Java的歸檔文件。保存的是Java的字節(jié)碼.class文件

在Java程序中導(dǎo)入某個(gè).jar文件后,就能使用其中的.class文件。

在Java項(xiàng)目中使用.jar文件

1.創(chuàng)建一個(gè)Java項(xiàng)目,在其中最好新建一個(gè)文件夾,將.jar文件保存在里面

2.在.jar文件上右鍵,點(diǎn)擊“add as library”

JDBC

Java DataBase Connectivity Java數(shù)據(jù)庫(kù)連接

用于Java程序連接不同的數(shù)據(jù)庫(kù)。

實(shí)際是Java中定義的相關(guān)數(shù)據(jù)庫(kù)連接時(shí)所需的接口的集合,不同的數(shù)據(jù)庫(kù)對(duì)其進(jìn)行了實(shí)現(xiàn)。

核心接口

  • Connection:用于設(shè)置連接的數(shù)據(jù)庫(kù)的地址、賬號(hào)、密碼

  • PreparedStatement:用于預(yù)處理、執(zhí)行SQL語(yǔ)句

  • **ResultSet:**用于保存查詢(xún)后的數(shù)據(jù)

以上接口都來(lái)自于java.sql包中

單表查詢(xún)

import java.sql.*;public class Main {public static void main(String[] args) throws ClassNotFoundException, SQLException {//連接mysql數(shù)據(jù)庫(kù)實(shí)現(xiàn)單表查詢(xún)//1.加載連接MySQL的驅(qū)動(dòng)Class.forName("com.mysql.cj.jdbc.Driver");//2.連接數(shù)據(jù)庫(kù),提供要連接的數(shù)據(jù)庫(kù)的URL、用戶(hù)名、密碼String url = "jdbc:mysql://localhost:3306/gamedb?serverTimezone=Asia/Shanghai";Connection conn = DriverManager.getConnection(url, "root", "root");//3.構(gòu)造查詢(xún)的sql語(yǔ)句String sql = "select * from hero";//4.處理sql語(yǔ)句PreparedStatement pst = conn.prepareStatement(sql);//5.處理執(zhí)行sql語(yǔ)句后的結(jié)果ResultSet rs = pst.executeQuery();//6.循環(huán)遍歷讀取查詢(xún)后的數(shù)據(jù)while (rs.next()) {//根據(jù)字段名獲取int id = rs.getInt("id");//根據(jù)字段順序獲取String name = rs.getString(2);String sex = rs.getString(3);int price = rs.getInt(4);String makeTime = rs.getString(5);String position = rs.getString(6);System.out.println(id+"\t"+name+"\t"+sex+"\t"+price+"\t"+makeTime+"\t"+position);}//7.關(guān)閉連接rs.close();pst.close();conn.close();}
}

SQL注入

在構(gòu)造sql語(yǔ)句時(shí),如果使用字符串拼接的方式構(gòu)造可變的sql語(yǔ)句,可能會(huì)造成sql注入的風(fēng)險(xiǎn),導(dǎo)致執(zhí)行不是預(yù)期的sql語(yǔ)句

-- 如刪除的sql String sql="delete from 表 where 主鍵="+參數(shù);
-- 實(shí)際傳遞 '' or 1=1
delete fromwhere 主鍵= '' or 1=1
-- 導(dǎo)致條件永遠(yuǎn)成立,最終刪除了所有數(shù)據(jù)-- 查詢(xún)的sql  String sql="select * from 表 where name="+name +"and pwd="+pwd;
-- 實(shí)際第一個(gè)參數(shù)傳遞 '' or 1=1 -- 
select * fromwhere name = '' or 1=1 -- pwd=
-- 導(dǎo)致第二個(gè)參數(shù)被注釋,第一個(gè)參數(shù)永遠(yuǎn)成立

在構(gòu)造sql語(yǔ)句時(shí),使用?占位,通過(guò)preparestatement方法防止sql注入的風(fēng)險(xiǎn)

簡(jiǎn)化JDBC

DBUtil數(shù)據(jù)庫(kù)工具類(lèi)

import java.sql.*;/** 定義數(shù)據(jù)庫(kù)工具類(lèi),簡(jiǎn)化JDBC操作* 可以簡(jiǎn)化的操作* 1.加載驅(qū)動(dòng)   √* 2.連接數(shù)據(jù)庫(kù) √* 6.關(guān)閉   √* */
public class DBUtil {/** 定義靜態(tài)代碼塊用于加載驅(qū)動(dòng)* */static {try {Class.forName("com.mysql.cj.jdbc.Driver");} catch (ClassNotFoundException e) {System.out.println("驅(qū)動(dòng)不存在" + e);}}//定義靜態(tài)常量保存連接數(shù)據(jù)庫(kù)的字符串private final static String URL = "jdbc:mysql://localhost:3306/gamedb?serverTimezone=Asia/Shanghai";private final static String USERNAME = "root";private final static String PASSWORD = "root";/** 定義靜態(tài)方法獲取連接對(duì)象* */public static Connection getConn() {Connection connection = null;try {connection = DriverManager.getConnection(URL, USERNAME, PASSWORD);} catch (SQLException e) {System.out.println("連接數(shù)據(jù)庫(kù)信息異常" + e);}return connection;}/** 定義靜態(tài)方法釋放資源* */public static void release(Connection conn, PreparedStatement pst, ResultSet rs) {//使用了哪個(gè)接口就關(guān)閉那個(gè)接口try {if (rs != null) {rs.close();}if (pst != null) {pst.close();}if (conn != null) {conn.close();}} catch (SQLException e) {System.out.println("關(guān)閉異常" + e);}}
}

視圖View

視圖可以當(dāng)做數(shù)據(jù)庫(kù)中的一個(gè)臨時(shí)表,保存一些較為復(fù)雜的查詢(xún)后的結(jié)果。
之后可以直接通過(guò)該視圖查詢(xún)數(shù)據(jù),不需要再次編寫(xiě)復(fù)雜的sql語(yǔ)句。
視圖同時(shí)可以隱藏一些查詢(xún)細(xì)節(jié),定制查詢(xún)數(shù)據(jù)。

創(chuàng)建視圖

create view 視圖名 as
查詢(xún)的sql語(yǔ)句;

使用視圖

修改視圖中的數(shù)據(jù),會(huì)直接修改原始表中的數(shù)據(jù)。

select * from 視圖名;

刪除視圖

drop view 視圖名;

事務(wù)transaction

事務(wù)是由一組sql語(yǔ)句組成的執(zhí)行單元,這些sql之間一般都互相依賴(lài)。
如A給B轉(zhuǎn)賬
1.update 表 set money = money-1000 where id=1
2.update 表 set money = money+1000 where id=2
以上兩句sql組成了一個(gè)轉(zhuǎn)賬的事務(wù)。一個(gè)事務(wù)要么全部執(zhí)行,要么全部不執(zhí)行。

事務(wù)的特性ACID

Atomicity原子性

事務(wù)是最小的執(zhí)行單元,要么全部執(zhí)行,要么全部不執(zhí)行。

Consistency一致性

事務(wù)執(zhí)行前后,必須讓所有數(shù)據(jù)保持一致?tīng)顟B(tài)。(總體數(shù)據(jù)守恒)
create view 視圖名 as
查詢(xún)的sql語(yǔ)句;
select * from 視圖名;
drop view 視圖名;

Isolation隔離性

多個(gè)事務(wù)并發(fā)執(zhí)行時(shí)應(yīng)該互相隔離,互不影響。

Durability持久性

事務(wù)一旦提交,對(duì)數(shù)據(jù)的改變是永久的。

存儲(chǔ)引擎

  • MySQL5.5版本之前,默認(rèn)使用MyIsam存儲(chǔ)引擎,不支持事務(wù)
  • MySQL5.5版本之后,默認(rèn)使用InnoDB存儲(chǔ)引擎,支持事務(wù)
http://www.risenshineclean.com/news/4518.html

相關(guān)文章:

  • 抖音營(yíng)銷(xiāo)百度seo sem
  • 食堂網(wǎng)站源代碼php+mysql抖音視頻排名優(yōu)化
  • 國(guó)外訂房網(wǎng)站怎么和做網(wǎng)站排名優(yōu)化培訓(xùn)哪家好
  • 網(wǎng)站開(kāi)發(fā)價(jià)格網(wǎng)頁(yè)制作教程視頻
  • 自己做一個(gè)網(wǎng)站多少錢(qián)seo搜狗排名點(diǎn)擊
  • 專(zhuān)業(yè)網(wǎng)站建設(shè)設(shè)計(jì)公司搜索關(guān)鍵詞怎么讓排名靠前
  • 2020電商網(wǎng)站排行榜seo網(wǎng)站建站
  • wordpress刪除垃圾評(píng)論東莞網(wǎng)站seo技術(shù)
  • 公司做網(wǎng)站推廣百度和阿里巴巴手機(jī)搜索引擎排名
  • wordpress視頻站主題廣告制作公司
  • 網(wǎng)站開(kāi)發(fā)需求分析編寫(xiě)目的聚合搜索引擎入口
  • 天津開(kāi)發(fā)網(wǎng)站公司免費(fèi)b站推廣軟件
  • 重慶新聞?lì)l道直播 今天seo主要優(yōu)化
  • 網(wǎng)站建設(shè)公司專(zhuān)業(yè)網(wǎng)站開(kāi)發(fā)需求seo服務(wù)外包客服
  • 織夢(mèng)裝修網(wǎng)站模板有域名有服務(wù)器怎么做網(wǎng)站
  • wordpress在哪兒打開(kāi)企業(yè)網(wǎng)站seo優(yōu)化外包
  • 網(wǎng)站域名空間費(fèi)發(fā)票廣告詞
  • 烏魯木齊哪里可以建設(shè)網(wǎng)站關(guān)鍵詞語(yǔ)有哪些
  • 用python做網(wǎng)站開(kāi)發(fā)的課程嘉興seo
  • 網(wǎng)站點(diǎn)擊率如何做百度一下百度
  • wordpress文章顯示小時(shí)分鐘天津seo推廣服務(wù)
  • 東莞網(wǎng)站如何制作google play官網(wǎng)入口
  • 網(wǎng)站會(huì)員注冊(cè)系統(tǒng)下載在線看seo網(wǎng)站
  • 做網(wǎng)站都需要用到什么百度網(wǎng)址大全怎么設(shè)為主頁(yè)
  • 九江做網(wǎng)站開(kāi)發(fā)需要多少錢(qián)班級(jí)優(yōu)化大師網(wǎng)頁(yè)版登錄
  • 外貿(mào)網(wǎng)站用什么語(yǔ)言百度廣告推廣平臺(tái)
  • 實(shí)體門(mén)店管理系統(tǒng)武漢seo公司排名
  • 如何查看網(wǎng)站在哪里做的會(huì)計(jì)培訓(xùn)班有用嗎
  • 獲獎(jiǎng)設(shè)計(jì)網(wǎng)站怎么做ppt
  • 做網(wǎng)站需要材料北京專(zhuān)業(yè)網(wǎng)站優(yōu)化