突擊學習之資料庫基礎彙總
1、資料庫是按照一定的形式來組織儲存資料,目的是為了對資料操作-增刪改查;
2、發展歷史:網狀資料庫->層次型資料庫->關係型資料庫->非關係型資料庫(nosql);
3、關係型資料庫邏輯結構
server伺服器->Database資料庫->Table表->Row(行)-Cloumn(列)
4、常見的關係型資料庫
SQLite | 微型資料庫 |
---|---|
SQLserver | 只能用在windows系統 |
Oracle | 大型資料庫,收費 |
MySql | 中小型資料庫(免費)(瑞典)適用於各種作業系統 |
5、伺服器套裝:XAMPP軟體
-
mysql.exe 客戶端負責向伺服器端發起增刪改查操作;
mysqld.exe 負責儲存資料; -
使用客戶端連線伺服器端
mysql.exe -h127.0.0.1 -P3306 -uroot -p或簡寫為
mysql.exe -uroot
---------------h主機 ----------P埠- u使用者名稱- p密碼 -
Mysql常用管理命令:
quit-退出伺服器連線
show databases; -顯示所有資料庫
use 資料庫名;-使用資料庫
show tables;-顯示資料庫中的所有表
desc 表名;-檢視該表中的所有表頭 -
SQL命令(structured Query language結構化查詢語言)
作用:用於操作關係型資料庫,對資料執行增刪改查;
兩種執行方式:①互動模式,客戶端輸入一行,伺服器執行一行,適用於臨時性的檢視資料;②指令碼模式,客戶端把要執行的多行命令寫在一個文字檔案中,一次性的提交給伺服器,適用於批量的運算元據
執行指令碼方法:mysql -uroot <指令碼檔案路徑 -
SQL語法規範
①每條sql命令可以跨越多行,遇英文符號結束;
②假如某一條命令出現語法錯誤,則此條語句以及後邊所有的語句都不會執行;
③sql命令不區分大小寫,習慣上關鍵字大小,非關鍵字小寫;
④sql命令有多行註釋(/* */)和單行註釋(#); -
常用的sql命令
建立新的資料庫:CREATE DATABASE 資料庫名;
丟棄(刪除)指定的資料庫,表也可以丟棄:DROP DATABASE IF EXISTS 資料庫名
建立表:CREATE TABLE 表名(屬性1,屬性2…);
向表中插入資料:INSERT INTO 表名 VALUES(‘ ’,‘ ’,‘ ’);
查詢資料:SELECT *FROM 表名;
修復資料:UPDATE 表名 SET 屬性;
刪除資料:DELETE *FROM 表名; -
標準SQL命令分類
DDL-Data Define Language-定義資料結構:CREATE/DROP/ALTER
DML-Data Manipulate Language-運算元據:INSERT/UPDATE/DELETE
DQL-Data Query Language-查詢資料:SELECT
DCL:Data Control Language-控制使用者許可權:GRANT/REVOKE
設定客戶端連線伺服器端的編碼為UTF-8:SET NAMES UTF8,解決儲存中文亂碼問題。 -
mysql中的列的型別
型別 | 位元組數 |
---|---|
TINYINT | 1 |
SMALLINT | 2 |
MEDIUNINT | 3 |
INT | 4 |
BIGINT | 8 |
FLOAT | 4 |
DOUBLE | 8 |
CHAR | 1 |
VARCHAR | 2 |
TEXT | – |
BLOB | – |
TINYBLOB | – |
DATE | – |
TIME | – |
DATETIME | – |
BOOL | TRUE/FALSE |
DECIMAL(M,D) | 定點小數,無誤差 |
注意:①BOOL型別儲存資料時會變成TINYINT型別,使用true和false是不能加單引號!②在插入數值型別時,引號可加可不加;③在插入字串型別和日期時間型別時,必須加單引號!
-
列約束:mysql可以對插入的資料進行特定驗證,只有滿足條件才允許插入到資料表中,否則認為是非法的插入
①主鍵約束:PRIMARY KEY(不能為空)
注意:主鍵是唯一的,不能出現多個主鍵;
②非空約束:NULL是不能確定的時候用的,NULL和任何值都不相等,包括他自己;
③唯一約束-UNIQUE,允許為空,一個表中可以出現多個唯一約束;
④檢查約束-CHECK(條件),檢查約束可以對插入的資料進行自定義條件驗證,mysql不支援檢查約束,會降低資料的插入速度;
⑤預設值約束-DEFAULT(預設值);
⑥外來鍵約束-FOREIGN KEY REFERENCES 表(主鍵); -
mysql的自增列
AUTO_INCREMENT:自增給編號設值;
不足:自動尋找最大的進行自增賦值;只適用於整形的列上,自增列允許手動賦值; -
簡單查詢
查詢列:SELECT * FROM 表名;
給列起別名:SELECT 列名 AS 中文別名;在起別名的時候,AS可以省略;
顯示不同的記錄、合併相同的記錄使用DISTINCT;
查詢時計算,示例:SELECT 表示式;
查詢結果排序:ORDER BY #ascendant 升序ASC 降序DESC -
條件查詢
字串:WHERE …LIKE…“%多個字元、_單個字元”
比較運算子:>、<、<=、>=、!=;
BTWEEN …AND…
NOT BTWEEN …AND…
WHERE …OR…
WHERE A AND B=WHERE IN(A,B)在A,B之間 -
分頁查詢
假如查詢的結果集有太多的資料,一次顯示不完,可以使用分頁顯示;
*每頁的開始=(當前的頁碼-1)每頁的資料量
格式:LIMIT start, count------start每頁的開始,count------每頁的資料量。
相關文章
- TensorFlow學習資料彙總
- Java 8學習資料彙總Java
- 學習swift的資料彙總Swift
- 大資料學習之Linux基礎大資料Linux
- 【面經】資料庫面試突擊資料庫面試
- 語料庫基礎學習
- javaHTML5學習資料彙總JavaHTML
- Spring Boot學習資料彙總Spring Boot
- Apple Swift學習資料彙總APPSwift
- 00_Zotero學習資料彙總
- 0基礎怎麼學習Python?Python學習方法彙總!Python
- 零基礎學習MySQL資料庫—3MySql資料庫
- mysql資料庫學習基礎知識整理MySql資料庫
- 資料結構基礎學習之緒論資料結構
- 彙編基礎學習筆記筆記
- 資料庫基礎知識整理與複習總結資料庫
- java HTML5 學習資料彙總JavaHTML
- 水稻資料庫彙總資料庫
- 資料庫學習筆記 - MySQL基礎知識資料庫筆記MySql
- 資料結構基礎學習之線性表資料結構
- java基礎學習之五:引用資料型別Java資料型別
- 前端學習資源彙總前端
- Flutter學習資源彙總Flutter
- go學習資源彙總Go
- React學習資源彙總React
- 前端學習之PHP基礎函式總結前端PHP函式
- Kotlin學習資料彙總(持續更新...)Kotlin
- 送福利! Swift語言學習資料彙總Swift
- 學習資料庫的基礎知識的書籍資料庫
- 【彙總】語料庫資源
- 資料結構基礎學習之(棧和佇列)資料結構佇列
- 資料結構基礎學習之(串與陣列)資料結構陣列
- Redis原始碼學習——基礎資料結構之SDSRedis原始碼資料結構
- Django基礎之七(資料庫操作)Django資料庫
- opencv學習之基礎OpenCV
- 資料庫基礎知識總結(轉)資料庫
- TensorFlow學習資源彙總
- IT 學習資源網站彙總網站