您好,登錄后才能下訂單哦!
如何快速入門MySQL,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
本文是我這段時間自學MySQL之后,自己總結的一些MySQL的入門基礎知識.我自己用的是MySQL 5.7.
數據庫是按照一定數據結構,進行組織,存儲,管理數據的倉庫數據的倉庫,是一種對大量信息進行管理的高效解決方案.
數據庫系統DBS=數據庫DB+數據庫管理系統DBMS.
數據庫的分為關系型數據庫和分關系型數據庫.
關系型:是建立在關系模型上的數據庫,關系模型顧名思義就是二維表模型,用來記錄實體和實體與實體信息之間的關系信息.常見的關系型數據庫有Oracle ,MySQL ,SQL Server.
非關系型數據庫:不建立在關系模型上的數據庫.主要有MongoDB Redis
數據庫系統DBS
結構化查詢語言SQL
數據庫DB
數據庫管理系統DBMS
表table
行row => 記錄record
列column => 字段field
DOS命令:
連接遠程主機:mysql -h 主機名/IP地址 -P端口號 -u 用戶名 -p 密碼
連接本機主機:mysql -u用戶名 -p密碼
客戶端(可視化軟件):Navicat
代碼:
Web網頁:PHPMyAdmin
C/S架構:
服務端管理和存儲數據
客戶端發送操作請求
#創建數據庫的語法 create database `庫名` charset=utf8/gbk;
創建數據庫前,需要先連接進數據庫,可以用自己的本地數據庫練習.
#查詢所有數據庫 show databases; #按條件查詢like ,其中%表示任意多個字符,-表示任意一個字符. create databases like '%-'; #查詢建庫語句 show create database;
#修改數據庫(僅能修改選項,也就是字符集這些) alter database `庫名` [新選項];
#刪除數據庫(語法很簡單,但后果很嚴重.一般你也沒有權限,哈哈.) drop database `庫名`;
#創建表前,先指定數據庫 use `指定庫名`; #創建表的 create table `表名`( `字段1` 字段1類型 字段1屬性, ... `字段N` 字段N類型 字段N屬性);[選項]
其中的選項主要包括三大類:
字符集 charset=utf8 / GBK …
數據引擎 engine=innodb / mysiam
備注 comment='‘備注內容''
其它的字段類型和字段屬性,后面有詳細寫到.
#查詢所有表 show tables; #條件查詢 show tables like '%-'; #查詢表結構 desc `表名`; #查詢建表語句 show create table `表名`;
#修改表選項 alter table `表名` [新選項]; #修改表名 rename table `舊表命` to `新表名`; #修改表內的字段 alter table `表名` change `舊字段名` `新字段名` 新字段類型; #添加新字段到字段末尾 alter table `表名` add `新字段名` 類型 屬性; #添加字段到對應字段后 alter table `表名` add `新字段名` 類型 屬性 after `對應字段` #添加字段到最前面 alter table `表名` add `新字段名` 類型 屬性 first;
#如果表存在,則刪除表,否則報錯 drop table [if exists] `表名`;
#插入記錄 insert into `表名`(`字段1`,...`字段`) values('值1',...,'值N'); #當一次傳入所有值時,可以省不寫字段 insert into `表名` values('值1',...,'值N'); #當需一次傳入多條記錄時 insert into `表名`(`字段1`,...`字段`) values ('值1',...,'值N'), ('值1',...,'值N'), ..., ('值1',...,'值N'); #當需一次傳入多條記錄,且字段全傳入時 insert into `student` values(值列表1),(值列表2),(值列表n);
#查詢語法 select [選型] 字段列表 as 別名 from `表名` where 條件表達式;
1、條件表達式:
邏輯運算符:and or not
比較運算符:+ - * / < > = !=
2、選項:
all:查詢所有,不寫默認就是所有
distinct:去重.重復指查詢后的數據里,記錄的所有字段全部相同,才認定為重復.
as:別名.給查詢后的字段設置一個別名,方便查閱.
常見的聚合函數:count(),Max(),Min(),Sum(),avg()
3、連表查詢 join
1.內連接 inner join #將參與連接的兩個表中符合連接條件的記錄查詢出來,不符合的過濾掉. select * form `表1` inner join `表2` on 連接條件; 2.左外連接 left Join #將參與連接的左表中即使不能匹配連接條件的記錄也會查詢出來,右表不符合的過濾掉 select * from `表1` left join `表2` on 連接條件; 3.右外連接 right join #將參與連接的右表中即使不能匹配連接條件的記錄也會查詢出來,左表不符合的過濾掉 select * from `表1` right join `表2` on 連接條件;
#語法 update `表名` set `字段`='新值' where 條件表達式;
#語法 delete from `表名` where 條件表達式;
tinyint:占用一個字節,一共能表示256個數
有符號:-128~127
無符號:0~255
int:占用4個字節
有符號:-21億~21億
無字符:0~42億
浮點數:
float(M,D):單精度浮點數
double(M,D):雙精度浮點數
定點數:
decimal(M,D):數據不會丟失的小數類型,常用于記錄貨幣
char(M):定長字符,M表示最大的字符數.優勢為運算速度快.常用在255個字符內的固定長度的字符.如:身份證,電話號碼等.
varchar(M):變長字符,M表示最大的字符數.優勢為節省空間.常用在255個字符以內,長度不確定的字符.
text:常用在256個字符以上的文本中
datetime:固定的日期時間
timestamp:時間戳:當新增記錄或更新記錄時自動更新為當前系統時間,用于記錄最后一次修改的時間或新插入記錄的時間
not null:設置該字段的值不能為空,不寫就是默認可以為空
default 默認值:設置一個默認值,沒有數據傳入就是使用默認值.有數據傳入則使用傳入的值
comment:備注用漢字備注字段,方便后期維護
unique key:唯一值該字段的值不能重復,但可以為空
primary key 主鍵:
用于唯一標識一條記錄
一個表最能只能有一個主鍵
不能為空
不能重復
auto_increment 自動增長:在新插入記錄時,自動在本字段最大值的基礎上加1,條件本字段的類型必須為整數型.常與主鍵一起使用,但不是必須與主鍵一起使用.
關于如何快速入門MySQL問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。