一、資料庫介紹
1 什么是資料庫
資料庫(Database)就是按照資料結構來組織,存盤和管理資料的倉庫,專業的資料庫是專門對資料進行創建,訪問,管理,搜索等操作的軟體,比起我們自己用檔案讀寫的方式對資料進行管理更加的方便,快速,安全,
2 作用
對資料進行持久化的保存,方便資料的存盤和查詢,速度快,安全,方便,可以處理并發訪問,更加安全的權限管理訪問機制,
3 常見的資料庫
資料庫分為兩大類,一類是 關系型資料庫,另一類叫 非關系型資料庫,關系型資料庫: MySQL,Oracle,PostgreSQL,SQLserver 等等, 非關系型資料庫:Redis記憶體資料庫,MongoDB檔案資料庫等等
二、Mysql的基本命令
1.mysql -u root -p;
此為資料庫登陸命令,-u后面輸入 用戶名,-p后面輸入password,默認最高權限的用戶名為root,密碼為空,
2.show databases;
登錄進入資料庫后可用此命令 查看當前mysql中所有的庫,
3.use 庫名;
進入所選擇的庫 進行操作,
4.show tables;
進入所選擇的庫后 用此命令 可查看該庫中所有的表,
5.select 欄位 from 表名
此命令為查看表中的資料,
6.create database 庫名 default charset=utf8mb4;
創建庫命令,其中utf8mb4為完整的utf8字符集,若無mb4則為閹割版,
7.create table 表名( 欄位名 型別 欄位約束, 欄位名 型別 欄位約束, 欄位名 型別 欄位約束, )engine=innodb default charset=utf8mb4;
創建表命令,
三 ,資料操作 增刪改查
插入
insert into 表名(欄位1,欄位2,欄位3) values(值1,值2,值3);
insert into 表名(欄位1,欄位2,欄位3) values(a值1,a值2,a值3),(b值1,b值2,b值3);
查詢
select * from 表名; select 欄位1,欄位2,欄位3 from 表名; select * from 表名 where 欄位=某個值;
修改
update 表名 set 欄位=某個值 where 條件;
update 表名 set 欄位1=值1,欄位2=值2 where 條件; update 表名 set 欄位=欄位+值 where 條件;
洗掉
delete from 表名 where 欄位=某個值;
四 sql陳述句中的快捷鍵
\G 格式化輸出(文本式,豎立顯示)
\s 查看服務器端資訊
\c 結束命令輸入操作
\q 退出當前sql命令列模式
\h 查看幫助
五 Mysql的資料型別
資料型別是定義列中可以存盤什么型別的資料以及該資料實際是怎樣存盤的基本規則,資料型別限制存盤在資料列列中的資料,例如,數值資料型別列只能接受數值型別的資料,在設計表時,應該特別注意所用的資料型別,使用錯誤的資料型別可能會嚴重影回應用程式的功能與性能,常用資料型別:整形,浮點型,字串,日期等
1.字串資料型別
最常用的資料型別是串資料型別,它們存盤串,如名字、地址、電 話號碼、郵政編碼等,
不管使用何種形式的串資料型別,串值都必須括在引號內
有兩種基本的串型別,分別為定長串和變長串
定長串:char 1. 接受長度固定的字串,其長度是在創建表時指定的, 定長列不允許存盤多于指定長度字符的資料, 2. 指定長度后,就會分配固定的存盤空間用于存放資料
變長串 varchar
存盤可變長度的字串 varchar(7) 如果實際插入4個字符, 那么它只占4個字符位置,當然插入的資料長度不能超過7 個字符,
**注意 :
Text 變長文本型別存盤
char(7) 不管實際插入多少字符,它都會占用7個字符位置
既然變長資料型別這樣靈活,為什么還要使用定長資料型別?
回答:因為性能,MySQL處理定長列遠比處理變長列快得多**

2.數值型別
數值資料型別存盤數值,MySQL支持多種數值資料型別,每種存盤的數值具有不同的取值范圍,支持的取值范圍越 大,所需存盤空間越多
與字串不一樣,數值不應該括在引號內

3.日期型別
MySQL使用專門的資料型別來存盤日期和時間值

六,表的欄位約束
unsigned 無符號(給數值型別使用,表示為正數,不寫可以表示正負數都可以) 欄位型別后面加括號限制寬度 char(5). varchar(7) 在字符型別后面加限制 表示 字串的長度 int(4) 沒有意義,默認無符號的int為int(11),有符號的int(10) int(4) unsigned zero?ll只有當給int型別設定有前導零時,設定int的寬度才有意義, not null 不能為空,在操作資料庫時如果輸入該欄位的資料為NULL ,就會報錯 default 設定默認值 primary key 主鍵不能為空,且唯一.一般和自動遞增一起配合使用, auto_increment 定義列為自增屬性,一般用于主鍵,數值會自動加1 unique 唯一索引(資料不能重復:用戶名)可以增加查詢速度,但是會降低插入和更新速度
七,DQL-MySQL資料查詢SQL
select 欄位串列|* from 表名
[where 搜索條件] [group by 分組欄位 [having 分組條件]] [order by 排序欄位 排序規則] [limit 分頁引數
1.條件查詢
可以在where子句中指定任何條件 可以使用 and 或者 or 指定一個或多個條件 where條件也可以運用在update和delete陳述句的后面 where子句類似程式語言中if條件,根據mysql表中的欄位值來進行資料的過濾
2.like模糊查詢
我們可以在where條件中使用=,<,> 等符合進行條件的過濾,但是當想查詢某個欄位是否包含時如何過濾?
可以使用like陳述句進行某個欄位的模糊搜索, 例如: 查詢 name欄位中包含五的資料

注意:where子句中的like在使用%或者_進行模糊搜索時,效率不高,使用時注意:
盡可能的不去使用%或者_ 如果需要使用,也盡可能不要把通配符放在開頭處
總結

理解關鍵字 后更好記憶,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/169742.html
標籤:其他
上一篇:資料庫——資料庫用戶管理
下一篇:分庫分表的概念及應用場景詳解
