資料庫基礎彙總

2021-10-10 20:39:51 字數 3175 閱讀 9717

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

1smallint

2mediunint

3int

4bigint

8float

4double

8char

1varchar

2text

–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------每頁的資料量。

資料庫基礎知識彙總

1 事務 事務用來管理insert update delete語句,必須滿足4個條件 acid atomicity 原子性 consistency 穩定性 isolation 隔離性 durability 可靠性 2 索引 作用 大大提高mysql檢索速度。索引分單列索引和組合索引。單列索引,即乙個...

資料庫多表查詢基礎語句彙總

多表間的關係 新增外來鍵 alter table 表 add constraint 外來鍵名稱 foreign key 字段 references 表 字段 或者alter table 表 add foreign key 列 references 表 列 eg 給商品表新增外來鍵 alter tab...

資料庫 資料庫基礎

什麼是sql 結構化查詢語言 structtured query language sql的作用 啟動mysql.exe,連線伺服器後,就可以使用sql來操作伺服器了。類似php中操作mysql的語句就是sql語句 sql標準 由國際標準化組織 iso 制定的,對dbms 資料庫管理系統 的統一操作...