資料庫基礎知識 mysql

2021-08-02 23:06:05 字數 4342 閱讀 9752

按照資料結構來組織、儲存和管理資料的倉庫,其本身可看作電子化的檔案櫃,使用者可以對檔案中的資料進行增加、刪除、修改、查詢等操作
資料庫

資料庫管理系統

關係型資料庫:mysql、oracle(oracale),mssql、access、excel,(mysofeware)db2(ibm);sqllite(輕型資料庫/嵌入式)

非關係型資料庫(no-sql):nongodb、hbase、cassandra.......

sql:結構化查詢語言

資料庫應用程式

硬體---》安裝作業系統(os:linux,windows)---》安裝資料庫管理系統

記錄:行

字段/屬性:列

目錄結構

bin---可執行檔案

lib---庫檔案

data---日誌檔案和資料庫

smple database---樣本資料庫

share---共享檔案

include---標頭檔案

my.ini(配置檔案):

mysql正常安裝,my.ini存放在windows目錄下

內容:[client];port:3306 ---》客戶端的埠

[mysql]default-character-set-gbk:預設字符集(字元編碼)

埠、檔案路徑、資料路徑、預設字符集、資料庫儲存引擎、最大連線數(max-contections-512)

[mysql] default-storage-engin-myisam:資料庫儲存引擎

myisam

innobd

關係型資料庫語言

一種資料庫查詢語言和程式語言

增刪改查

資料定義語言(ddl):資料庫

資料操作語言(dml):表操作

資料查詢語言(dql):表查詢

資料控制語言(dcl):事務、儲存過程等

驗證是否啟動:telnet -an---3306埠是否是listening

登入成功出現myslq>

登入失敗如何解決

整數型別5種:tinyint(1個位元組)、smallint(2)、mediumint(3)、int(4)、bigint(8)

浮點數型別和定點數型別:float(4個位元組)、double(4)、decimal(m,d)(m+2)(精確,幾乎沒有誤差):高精度/定點資料型別

日期與時間型別:

year(1)、---yyyy

date(4)---yyyy-mm-dd

current_date/now()---獲取當前系統日期

time(3)---

---hh:mm:ss

current_time/now()---輸入當前系統時間

(最優)datetime(8)(到2023年)、

---yyyy-mm-dd hh:mm:ss

now---獲取當前系統時間和日期

timestamp(時間戳2023年-2023年)

current_timestamp/null/無任何輸入 ----> x系統會輸入當前系統時間

----同datatime

字串與二進位制型別

char(最大長度)---固定長度字串:不管存入幾位都佔最大長度

varchar()---可變長度:存幾位佔幾位,可擴充套件,但位數只顯示到最大長度

binany---固定長度二進位制資料---/文字(資料長度不足,資料後面用\0補齊)

varbinany---可變長度二進位制資料---/文字

tinytext

text

mediumtext

longext

blob(二進位制型別)(二進位製大資料)---/pdf文件等

tinyblob

blob

mediumblob

longblob

enum(列舉型別)(只能儲存乙個列舉字串值)----enum(』值1『,』值2『,』值3『。。。』值n『):只能取乙個(注意:mysql中存入的是列舉列舉中的順序編號,而不是列表中的值)

set---字串物件,可以有零或多個值---與enum相同

bit(m)型別(二進位制型別)---資料長度小於m,左邊用0補齊

建立資料表:create 表名(欄位名1 型別,欄位名2 型別,欄位名3 型別)
1.使用show create table 表名---檢視具體某乙個表

2.使用show tables;----檢視所有表

3.末尾加\g(g必須大寫);---使顯示美觀

4.describe/desc 表名

null--該列是否可以儲存null值

key----該列是否已經編制索引

default---是否有預設值

extra---獲取給定列附加資訊(備註)

---drop table 表名;
修改表名稱---alter table 舊表名 rename (to) 新錶名

新增欄位名(資料無損)---alter table 表名 add 欄位名 資料型別(first/after);

修改欄位名(無損)---alter table 表名 change 舊欄位名 新欄位名 資料型別;(資料型別必須與原資料型別相同)

修改字段屬性(資料型別)(資料有問題)---alter table 表名 notify 欄位名 字段屬性;

修改字段排列順序(無損)

1.欄位位於表開頭---alter table 表名 modify 欄位名 字段屬性 first;

2.欄位位於表末尾---alter table 表名 modify 欄位名 字段屬性 after;

3.交換---1。字段位於表開頭---alter table 表名 notify 欄位名 字段屬性 after 欄位名;

刪除欄位名稱(有損)---alter table 表名 drop 欄位名;

注意:備份後再進行操作

5.1 主鍵約束(primary key)例如:身份證—它可以唯一表示表中的記錄

5.2 非空約束 格式:欄位名 資料型別 not null(乙個表中可以定義多個非空約束)

5.3 唯一約束 格式:欄位名 資料型別 unique 驗證是否可以為空?可以6.1 作用

6.2 概念

普通索引

唯一性索引

全文索引(資料量大)

單列索引

多列索引

空間索引

6.3 建立方式及語法(約束知識點)建表流程:

結果:`±—±-----±-----±------±------+

| id | name | age | score | grade |

±—±-----±-----±------±------+

| 1 | aaa | 18 | 61 | 1 |

| 3 | | null | 60 | null |

| 2 | bbb | null | 60 | null |

| 4 | ccc | 22 | 60 | null |

| 5 | ddd | 24 | 78 | null |

| 6 | eee | 17 | 90 | 201 |

| 7 | fff | 12 | 56 | 202 |

| 8 | | null | 60 | null |

| 9 | fff | null | 60 | null |

| 10 | ggg | 27 | 60 | null |

| 11 | kkk | 42 | 60 | null |

| 12 | kkk | 26 | 66 | null |

| 13 | lll | 40 | 99 | 203 |

| 14 | | null | 60 | 206 |

| 15 | | 45 | 60 | null |

| 67 | | null | 88 | null |

| 17 | mmm | null | 60 | null |

| 18 | | null | 60 | 207 |

| 19 | nnn | 99 | 100 | 210 |

| 20 | | 120 | 60 | null |

| 21 | | 300 | 60 | null |

±—±-----±-----±------±------+

21 rows in set (0.00 sec)``

Mysql資料庫基礎知識

用於記錄所學資料庫 mysql 的基礎知識。mysql是乙個單程序多執行緒 支援多使用者 基於客戶機 伺服器 client server簡稱c s 的關聯式資料庫管理系統 結構化查詢語言 structured query language db dbs dbms dba db資料庫 dbs資料庫系統...

MySQL資料庫基礎知識

一 database server 資料庫伺服器,專用於儲存網頁中的資料。1 關係型資料庫管理系統分為兩部分 伺服器端 負責永久儲存資料 維護資料,人不能直接 伺服器上資料的邏輯結構 server database table row column 客戶端 用於向伺服器發起 增刪改查 命令,呈現出操...

MySQL資料庫基礎知識

資料庫 database db 長期儲存在計算機的儲存裝置上的檔案 按照一定規則組織起來 被使用者應用的集合 資料庫管理系統 使用和維護資料庫的軟體 保證資料庫的安全性和完整性 使用者通過該系統訪問資料庫中的資料 資料庫中一行記錄與物件之間的關係。列 column 字段 行 row 一條記錄 實體 ...