原创 簡單排序——冒泡排序及其優化

冒泡排序的基本思想: 首先根據順序將兩個相鄰的元素進行兩兩比較,將兩個元素按從小到大或從大到小的順序交換,這樣完成一輪比較後,最大或最小的元素將被換到最後一位,然後再從頭開始進行兩兩比較,這樣找出第二大或第二小的元素放在倒數第二

原创 簡單排序——直接插入排序

基本思想: 對於給定的一組初始數據,假定其第一個數據爲有序序列,從第二個數據開始爲無序序列,接着從第二個數據開始,依次和之前有序序列比較,插入到合適位置。 代碼實現: public static void main(String

原创 數據庫——(1)基礎知識

1.什麼是數據庫? 數據庫:database,存儲數據的 數據庫:高效的存儲和處理數據的介質(主要是兩種:內存和磁盤) 2.數據庫的分類? 基於存儲介質不同,分爲兩類:關係型數據庫(SQL)和非關係型數據庫(NoSQL:No

原创 數據庫——(3)數據操作

*數據操作* 新增數據 方案1:給全表字段插入數據,不需要指定字段列表:要求數據的值出現的順序必須與表設計的字段出現的順序一致:凡是非數值數據,都需要使用引號包裹。 insert into 表名 values(值列表); –可

原创 數據庫——(10)聯合查詢和子查詢

聯合查詢 將多次查詢(多條select語句),在紀錄上進行拼接(字段不會增加)。 基本語法:多條select語句構成,每一條select語句獲取的字段數必須嚴格一致(但是字段類型無關)。 select 語句1 union[u

原创 數據庫——(6)關係和範式

關係:將實體與實體的關係,反應到最終數據庫表的設計上來。將關係分爲三種:一對一、一對多、多對多。 所有的關係都指的是表與表之間的關係 範式:Nomal Format,是一種離散數學中的知識,是爲了解決一種數據的存儲與優化的問題:

原创 數據庫——(7)數據高級操作

新增數據 基本語法:insert into 表名[(字段列表)] values(值列表); 當主鍵存在衝突的時候,可以選擇性的進行處理:更新和替換。 主鍵衝突:更新操作 insert into 表名[(字段列表:包含主鍵字

原创 數據庫——(8)連接查詢

連接查詢:將多張表進行紀錄的連接(按照某個指定的條件進行數據拼接)。 最終結果是:紀錄數有可能變化,字段數一定會增加(至少兩張表的合併)。 連接查詢的意義:在用戶查看數據的時候,需要顯示的數據來自多張表。 連接查詢:join,

原创 數據庫——(2)庫操作和表操作

*庫操作* 對數據庫的CRUD 基本語法 Create database 數據庫名字[庫選項]; 庫選項:用來約束數據庫,分爲兩個選項 字符集設定:charset/character set 具體字符集(數據存儲

原创 數據庫——(9)外鍵

外鍵:foreign key,外面的鍵(鍵不在自己表中):如果A表中有一個字段(非主鍵)指向B表中的主鍵,那麼稱該字段爲外鍵。 外鍵作用:默認作用有兩點:一個對父表,一個對子表(外鍵字段所在的表)。 對字表約束:字表數據進行寫操

原创 簡單排序——希爾排序

基本思想: 數組通過數組下標按一定增量進行分組,然後將被分組的元素進行排序(並不是只有兩個元素進行比較,而是多個),一次排序完成後再取比第一次小的增量進行排序,直到增量爲1。 圖解(這是引用百度百科的圖,增量依次爲5,3,1)

原创 數據庫——(11)視圖

視圖:view,是一種結構(有行有列)但是沒有結果(結構中不真實存放數據)的虛擬表,虛擬表的結構來源不是自己定義,而是從對應的基表中產生(視圖的數據來源)。 創建視圖 基本語法:create view 視圖名字 as selec

原创 數據庫——(4)數據類型

所謂數據類型:對數據進行統一分類,從系統的角度出發是爲了能夠統一的方式進行管理,更好的利用有限的空間。 SQL中將數據類型分成三大類:數值類型,字符串類型和時間日期類型。 一、數值類型 都是數值,分爲整數型和小數型: 整數型

原创 數據庫——(5)列屬性

列屬性 列屬性:真正約束字段的是數據類型,但是數據類型的約束很單一需要一些額外的約束來更加保證數據的合法性。有以下屬性: 1.空屬性:NULL(默認)和NOT NULL(不爲空)。 雖然默認的數據庫基本都是字段爲空,都是在實際

原创 數據庫——(12)數據備份與還原

備份:將當前已有的數據或者紀錄保留 還原:將已經保留的數據恢復到對應的表中 爲什麼要做備份還原? 1.防止數據丟失:被盜、誤操作。 2.保護數據紀錄 數據備份還原的方式有很多種:數據表備份、單表數據備份、SQL備份、增量備份。