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 資料庫管理系統 的統一操作...