溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何快速入門MySQL

發(fā)布時間:2021-09-24 14:54:10 來源:億速云 閱讀:106 作者:柒染 欄目:開發(fā)技術(shù)

如何快速入門MySQL,針對這個問題,這篇文章詳細介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

    前言

    本文是我這段時間自學(xué)MySQL之后,自己總結(jié)的一些MySQL的入門基礎(chǔ)知識.我自己用的是MySQL 5.7.

    如何快速入門MySQL

    一.數(shù)據(jù)庫基礎(chǔ)知識

    1.什么是數(shù)據(jù)庫

    數(shù)據(jù)庫是按照一定數(shù)據(jù)結(jié)構(gòu),進行組織,存儲,管理數(shù)據(jù)的倉庫數(shù)據(jù)的倉庫,是一種對大量信息進行管理的高效解決方案.

    數(shù)據(jù)庫系統(tǒng)DBS=數(shù)據(jù)庫DB+數(shù)據(jù)庫管理系統(tǒng)DBMS.

    2.數(shù)據(jù)庫的分類

    數(shù)據(jù)庫的分為關(guān)系型數(shù)據(jù)庫和分關(guān)系型數(shù)據(jù)庫.

    關(guān)系型:是建立在關(guān)系模型上的數(shù)據(jù)庫,關(guān)系模型顧名思義就是二維表模型,用來記錄實體和實體與實體信息之間的關(guān)系信息.常見的關(guān)系型數(shù)據(jù)庫有Oracle ,MySQL ,SQL Server.

    非關(guān)系型數(shù)據(jù)庫:不建立在關(guān)系模型上的數(shù)據(jù)庫.主要有MongoDB Redis

    3.數(shù)據(jù)庫的常用語言

    數(shù)據(jù)庫系統(tǒng)DBS

    結(jié)構(gòu)化查詢語言SQL

    數(shù)據(jù)庫DB

    數(shù)據(jù)庫管理系統(tǒng)DBMS

    表table
    行row   => 記錄record
    列column  => 字段field

    4.數(shù)據(jù)庫的常用操作方式

    DOS命令:

    連接遠程主機:mysql -h 主機名/IP地址 -P端口號 -u 用戶名 -p 密碼
    連接本機主機:mysql -u用戶名 -p密碼

    客戶端(可視化軟件):Navicat

    代碼:

    Web網(wǎng)頁:PHPMyAdmin

    5.MySQL的架構(gòu)

    C/S架構(gòu):
     服務(wù)端管理和存儲數(shù)據(jù)
     客戶端發(fā)送操作請求

    二.數(shù)據(jù)庫的增刪改查

    1.創(chuàng)建數(shù)據(jù)庫

    #創(chuàng)建數(shù)據(jù)庫的語法
    create database `庫名` charset=utf8/gbk;

    創(chuàng)建數(shù)據(jù)庫前,需要先連接進數(shù)據(jù)庫,可以用自己的本地數(shù)據(jù)庫練習(xí).

    2.查詢數(shù)據(jù)庫

    #查詢所有數(shù)據(jù)庫
    show databases;
    #按條件查詢like ,其中%表示任意多個字符,-表示任意一個字符.
    create databases like '%-';
    #查詢建庫語句
    show create database;

    3.修改數(shù)據(jù)庫

    #修改數(shù)據(jù)庫(僅能修改選項,也就是字符集這些)
    alter database `庫名` [新選項];

    4.刪除數(shù)據(jù)庫

    #刪除數(shù)據(jù)庫(語法很簡單,但后果很嚴重.一般你也沒有權(quán)限,哈哈.)
    drop database `庫名`;

    三.表的增刪改查

    1.創(chuàng)建表

    #創(chuàng)建表前,先指定數(shù)據(jù)庫
    use `指定庫名`;
    #創(chuàng)建表的
    create table `表名`(
    `字段1` 字段1類型 字段1屬性,
    ...
    `字段N` 字段N類型 字段N屬性);[選項]

    其中的選項主要包括三大類:

    1. 字符集 charset=utf8 / GBK …

    2. 數(shù)據(jù)引擎 engine=innodb / mysiam

    3. 備注 comment='‘備注內(nèi)容''

    其它的字段類型和字段屬性,后面有詳細寫到.

    2.查詢表

    #查詢所有表
    show tables;
    #條件查詢
    show tables like '%-';
    #查詢表結(jié)構(gòu)
    desc `表名`;
    #查詢建表語句
    show create table `表名`;

    3.修改表

    #修改表選項
    alter table `表名` [新選項];
    #修改表名
    rename table `舊表命` to `新表名`;
    #修改表內(nèi)的字段
    alter table `表名` change `舊字段名` `新字段名` 新字段類型;
    #添加新字段到字段末尾
    alter table `表名` add `新字段名` 類型 屬性;
    #添加字段到對應(yīng)字段后
    alter table `表名` add `新字段名` 類型 屬性 after `對應(yīng)字段`
    #添加字段到最前面
    alter table `表名` add `新字段名` 類型 屬性 first;

    4.刪除表

    #如果表存在,則刪除表,否則報錯
    drop table [if exists] `表名`;

    四.記錄的增刪改查

    1.插入記錄

    #插入記錄
    insert into `表名`(`字段1`,...`字段`) values('值1',...,'值N');
    #當(dāng)一次傳入所有值時,可以省不寫字段
    insert into `表名` values('值1',...,'值N');
    #當(dāng)需一次傳入多條記錄時
    insert into `表名`(`字段1`,...`字段`) values
    ('值1',...,'值N'),
    ('值1',...,'值N'),
    ...,
    ('值1',...,'值N');
    #當(dāng)需一次傳入多條記錄,且字段全傳入時
    insert into `student` values(值列表1),(值列表2),(值列表n);

    2.查詢記錄(最常用)

    #查詢語法
    select [選型] 字段列表 as 別名 from `表名` where 條件表達式;

    1、條件表達式:

    邏輯運算符:and or not

    比較運算符:+ - * / < > = !=

    2、選項:

    all:查詢所有,不寫默認就是所有

    distinct:去重.重復(fù)指查詢后的數(shù)據(jù)里,記錄的所有字段全部相同,才認定為重復(fù).

    as:別名.給查詢后的字段設(shè)置一個別名,方便查閱.

    常見的聚合函數(shù):count(),Max(),Min(),Sum(),avg()

    3、連表查詢 join

    1.內(nèi)連接 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 連接條件;

    3.修改記錄

    #語法
    update `表名` set `字段`='新值' where 條件表達式;

    4.刪除記錄

    #語法
    delete from `表名` where 條件表達式;

    五.字段類型

    1.數(shù)字型

    1.1整數(shù)型

    tinyint:占用一個字節(jié),一共能表示256個數(shù)

    有符號:-128~127
    無符號:0~255

    int:占用4個字節(jié)

    有符號:-21億~21億
    無字符:0~42億

    1.2小數(shù)型

    浮點數(shù):

    float(M,D):單精度浮點數(shù)
    double(M,D):雙精度浮點數(shù)

    定點數(shù):

    decimal(M,D):數(shù)據(jù)不會丟失的小數(shù)類型,常用于記錄貨幣

    2.文本型

    1. char(M):定長字符,M表示最大的字符數(shù).優(yōu)勢為運算速度快.常用在255個字符內(nèi)的固定長度的字符.如:身份證,電話號碼等.

    2. varchar(M):變長字符,M表示最大的字符數(shù).優(yōu)勢為節(jié)省空間.常用在255個字符以內(nèi),長度不確定的字符.

    3. text:常用在256個字符以上的文本中

    3.日期時間

    1. datetime:固定的日期時間

    2. timestamp:時間戳:當(dāng)新增記錄或更新記錄時自動更新為當(dāng)前系統(tǒng)時間,用于記錄最后一次修改的時間或新插入記錄的時間

    六.字段屬性

    1. not null:設(shè)置該字段的值不能為空,不寫就是默認可以為空

    2. default 默認值:設(shè)置一個默認值,沒有數(shù)據(jù)傳入就是使用默認值.有數(shù)據(jù)傳入則使用傳入的值

    3. comment:備注用漢字備注字段,方便后期維護

    4. unique key:唯一值該字段的值不能重復(fù),但可以為空

    5. primary key 主鍵:
      用于唯一標識一條記錄
      一個表最能只能有一個主鍵
      不能為空
      不能重復(fù)

    6. auto_increment 自動增長:在新插入記錄時,自動在本字段最大值的基礎(chǔ)上加1,條件本字段的類型必須為整數(shù)型.常與主鍵一起使用,但不是必須與主鍵一起使用.

    關(guān)于如何快速入門MySQL問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識。

    向AI問一下細節(jié)

    免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

    AI