資料庫快速上手教程

2021-12-30 07:28:54 字數 3522 閱讀 4719

sql: structured query language,結構化查詢語言(資料以查詢為主:99%是在進行查詢)

sql分為三部分

ddl:

data definition language,資料定義語言,用來存貯維護資料的結構(資料庫,表)

代表指令:crate,drop,,alter等

dmldata manipualation language, 資料操作語言,用來對資料進行操作(資料表中的內容)

代表指令:insert,delete,update等 其中dml中又單獨分出乙個類dql(data query laguage:資料查詢語言,select)

dcldata control language,資料控制語言,只要負責許可權管理(使用者)

代表指令:grant revoke等

互動方式

客戶端連線認證:連線伺服器,認證身份mysql -h[主機] -p[埠] -u[使用者名稱] -p 傳送sql指令 show databases; – 檢視所有的資料庫 伺服器接收sql指令:處理sql指令:返回操作結果 客戶端接收結果:顯示結果 斷開連線(釋放資源:伺服器併發限制)exit/quit/『\q』基本操作:crud

將sql的基本操作根據操作物件分類:分為三類:庫操作,表操作(字段),資料操作

對資料庫的增刪改查

+ 新增資料庫

基本操作

注釋:-- 雙下劃線+空格, 也可以使用 #號

create databases 資料庫名字 [庫選項];

庫選項: 用來約束資料庫,分為兩個選項

字符集設定:charset/character set 具體字符集(資料儲存的編碼格式):常用字符集:gbk和utf8

校對集設定:collate具體校對及(資料比較的規則)當資料庫中sql語句執行後發生了什麼?

1. 增加了對應的資料庫資訊

2. 儲存資料資料夾下data目錄,建立乙個對應資料庫名字的資料夾

3. 資料夾下會有乙個.opt檔案,資料庫庫選項(字符集,校對集:校對集依賴字符集)

檢視所有資料庫:show databases; 檢視指定部分資料庫:模糊查詢 show databases like 『pattern』 – pattern 是匹配模式(%:表示匹配對各字元, _:表示匹配單個字元)注意:其中包含_ 需要『\』轉義 檢視資料庫的建立語句:show create database [databasename];資料庫名字不可修改。

資料庫僅限修改庫選項:字符集和校對集(校對集依賴字符集)

alter database 資料庫名字 [庫選項];

charsett/character set = 字符集

collate 校對集

drop database 資料庫名;

刪除資料庫語句後發生了什麼?

1. 在資料庫內部看不到對應的資料庫

2. 對應的資料庫儲存資料夾內:資料對應名字的資料夾也被刪除(級聯刪除)

注意:資料庫不要隨意刪除應,應先備份後操作(刪除不可逆)

表與字段密不可分。

create table [if not exists] 表名(

欄位名 字段型別,

欄位名 字段型別 -- 最後一行不需要加逗號

)[表選項];

if not exists 做表名不存在就建立,否則不執行建立**:檢查功能

表選項:控制表的表現

1. 字符集 charset/character set 具體字符集; -- 保證表中資料儲存的字符集

2. 校對集:collata 具體校對集;

3. 儲存引擎:engin 具體儲存引擎(innodb和myisam)

建立資料庫語句出錯,no database selected 沒有選擇資料庫。

方案一:顯示的指定表所屬的資料庫

create table 資料庫名.表名(); -- 將當前資料表建立到指定資料庫下

方案二:隱式指定表所屬的資料庫:先進入某個資料庫環境,然後建立的表就自動歸屬到指定資料庫

進入資料庫(使用資料庫): use 資料庫名字;建立資料表sql指令執行後發生了什麼?

1. 在指定資料庫下已存在對應的表

2. 資料庫資料夾下會產生對應表結構的檔案(和儲存引擎相關) .frm 檔案

檢視所有表:show tables; 檢視部分表:show tables like 『%s』; 檢視表的建立語句:show create table; 檢視表結構:檢視表中字段資訊:desc/describe 表名; show collumns from 表名;表本身,欄位兩部分

修改表本身

表本身修改:表名,表選項

修改表名:rename table 舊表名 to 新錶名;

修改表選項:字符集,校對集和儲存引擎

alter table student charset gbk;修改字段

字段操作:新增,修改,重名,刪除

新增字段;

alter table 表名 add [column] 欄位名 資料型別 [列屬性][位置];

位置:欄位名存在表中的任意位置

first: 第乙個位置

after: 在某乙個字段之後;預設在最後乙個字段之後;

修改字段:修改通常是該屬性或者資料型別

alter table 表名 modify 欄位名 資料型別 [屬性][位置];

重新命名字段

alter table 表名 change 舊欄位 新字段 資料型別 [屬性][位置];

刪除字段

alter table drop 欄位名;

小心:如果表中已經存在資料,那麼刪除欄位會清空該字段的所有資料(不可逆);

drop table 表名1,表名2.。。;可以一次性刪除多張表

刪除資料表指令執行後發生了什麼?

1. 在表空間中,沒有了指定的表(資料也沒了)

2. 在資料庫對應的資料夾下,表對應的檔案(與儲存引擎有關)也會被刪除

注意:刪除有危險,操作需要謹慎(不可逆)

兩種方案

方案1:給全表插入資料,不需要指定字段列表,要求資料的之出現的順序必須與表中設計的字段出先的順序一直:凡是非數值資料,都需要使用引號(建議單引號)包裹

insert into 表名 values(值列表),(值列表),(值列表),… – 可以一次性插入多條記錄

方案2:給部分字段插入資料,需要選定字段列表:字段列出表現的順序與字段順序無關;但是只列表順序必須與選定字段順序一致。

insert into 表名 (字段列表) values(值列表),values(值列表),… – 可以一次性插入多條記錄

檢視所有

select */字段列表 from 表名;

檢視指定字段,指定條件的資料

例如:select id, num, name from student where id=1;

update 表名 set 字段 = 值 [where條件]; – 建議都使用where ,沒有where條件的是更新全部內容

更新不一定會成功:當資料更新沒有變化時就會顯示皇后影響條數0條;

刪除不可逆:謹慎刪除

delete from 表名 [where條件];

雲資料庫MySQL版快速上手教程

阿里雲大學免費課程 雲資料庫mysql版快速上手教程 課程介紹 mysql 是全球最受歡迎的開源資料庫,作為開源軟體組合 lamp linux apache mysql perl php python 中的重要一環,廣泛應用於各類應用場景。本課程主要介紹雲資料庫 mysql 版的使用 資料遷移 備份...

雲資料庫MySQL版快速上手教程

mysql是一種開放源 的關係型資料庫管理系統 rdbms mysql資料庫系統使用最常用的資料庫管理語言 結構化查詢語言 sql 進行資料庫管理。mysql因為其速度 可靠性和適應性而備受關注。大多數人都認為在不需要事務化處理的情況下,mysql是管理內容最好的選擇。mysql這個名字,起源不是很...

雲資料庫MySQL版快速上手教程

mysql是一種開放源 的關係型資料庫管理系統 rdbms mysql資料庫系統使用最常用的資料庫管理語言 結構化查詢語言 sql 進行資料庫管理。mysql因為其速度 可靠性和適應性而備受關注。大多數人都認為在不需要事務化處理的情況下,mysql是管理內容最好的選擇。mysql這個名字,起源不是很...