溫馨提示×

溫馨提示×

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

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

MySQL常用SQL語句及使用實例

發(fā)布時間:2020-05-22 17:57:40 來源:網(wǎng)絡(luò) 閱讀:197 作者:三月 欄目:數(shù)據(jù)庫

下文主要給大家?guī)?a title="MySQL" target="_blank" href="http://kemok4.com/mysql/">MySQL常用SQL語句及使用實例,希望這些內(nèi)容能夠帶給大家實際用處,這也是我編輯MySQL常用SQL語句及使用實例這篇文章的主要目的。好了,廢話不多說,大家直接看下文吧。

關(guān)系型數(shù)據(jù)庫設(shè)計范式:

    第一范式:當(dāng)關(guān)系模式R的每個關(guān)系屬性都是不可分的數(shù)據(jù)項,那么就成R是第一范式的模式(1NF)

    簡單說法:字段是原子性的

    第二范式:黨關(guān)系模式R是2NF,且關(guān)系模式R(U,F(xiàn))中的所有非主屬性對任何候選關(guān)鍵字不存在傳遞依賴,則稱關(guān)系R是屬于第三范式

    簡單說法:存在可用主鍵

    第三模式:當(dāng)關(guān)系模式R是2NF,且關(guān)系模式R(U,F(xiàn))中的所有非主屬性對任何候選關(guān)鍵字都不存在傳遞依賴,則稱關(guān)系R是屬于第三方范式

    簡單說法:任何表都不應(yīng)該有依賴于其他表非主鍵的字段

數(shù)據(jù)庫組件:

    數(shù)據(jù)庫,表,索引,視圖,用戶,權(quán)限

    編程接觸的組件:(觸發(fā)器,存儲過程,存儲函數(shù),事件調(diào)度器)

mysql安裝完成之后的安全配置(mysql_secure_installation:一鍵配置腳本)

    1、刪除mysql匿名用戶

    2、為所有root用戶設(shè)置密碼

    3、關(guān)閉主機名反解功能

SQL語句類型:

    DDL:數(shù)據(jù)庫定義語言

        create,drop,alter

    DML:數(shù)據(jù)庫操作語言

        insert,delete,update,select

    DCL:數(shù)據(jù)控制語言

        grant,revoke

常用SQL語句:

    create:

        CREATE DATABASE    #創(chuàng)建數(shù)據(jù)庫

        CREATE DATABASE CHARACTER SET charset_name db_name;    #創(chuàng)建數(shù)據(jù)庫并設(shè)置字符編碼

        CREATE TABLE table_name(字段名,字段數(shù)據(jù)類型,約束條件)

    #創(chuàng)建表

        數(shù)據(jù)類型:

            ×××:int

                  tinyint     #1byte

                  smallint    #2byte

                  mediumint   #3byte

                  int         #4byte

                  bigint      #8byte

            字符型:

                char        #固定長度字符型(不區(qū)分大小寫)

                varchar     #可變長度字符型(不區(qū)分大小寫)

                binary      #固定長度字符型(區(qū)分大小寫)

                varbinary   #可變長度字符型(區(qū)分大小寫)

            約束條件:

                NOT NULL        #不允許為空

                DEFAYULT        #默認(rèn)值

                PRIMARY KEY     #主鍵

                UNIQUE          #唯一鍵

                unsigned        #無符號(適用于int類型)

                auto_increment  #自增,需要定義在一個鍵中(適用于int類型)

        CREATE INDEX

            #創(chuàng)建索引,索引是特殊的數(shù)據(jù)結(jié)構(gòu),用于搜索加速,一般定義在查找時作為查找條件的字段

    例:create table test (id int primary key auto_increment, name varchar(50));

        mycli:功能更強大的mysql客戶端,使用python開發(fā)的

        #mysql客戶端工具


使用實例:

    show global variables;

    #查看全局參數(shù),有的參數(shù)能夠修改并立即生效,有的需要修改配置文件

    show session variables;    #mysql的當(dāng)前會話參數(shù)

    show character set;        #查看支持的字符集

    show collation;            #查看支持的排序規(guī)則

    show engines;              #查看支持的存儲引擎

    show table status like 'user'\G                            #查看表狀態(tài)

    show global variables like '%server%';    #數(shù)據(jù)庫id

    show master logs;          #查看二進制日志

    show master status;        #查看主云服務(wù)器狀態(tài)

    show grants for 'dj'@'localhost';    #查看di用戶授權(quán)信息

    show index from mysql.user;    #查看索引

    show databases;            #查看數(shù)據(jù)庫

    show tables;               #查看數(shù)據(jù)庫的表

    desc table_name             #查看表結(jié)構(gòu)


    select 字段名 from 表名 [where 查詢條件]    #查看表中內(nèi)容

    select * from user\G;        #查看用戶的詳細(xì)信息

    select database();            #查看默認(rèn)數(shù)據(jù)庫

    select * from test where id>2 and id<4;

    #查詢test表中id大于2小于4的數(shù)據(jù)

        where條件:

            > < >=    <=  == !=  and  or  not

            like: 模糊查詢   rlike基于正則表達式的模糊查詢

    

    drop database 數(shù)據(jù)庫名;        #刪除數(shù)據(jù)庫

    drop table 表名;               #刪除指定表

    drop user '用戶名'@'主機'       #刪除用戶


    update 表名 set 更改的值 where 條件匹配    #修改表中的數(shù)據(jù)

    update test set name='liuxiao' where id=2;


    delete from 表名 where 條件匹配    #刪除條件匹配的數(shù)據(jù)

    delete from test where id=2;


    insert into 表名 (字段1,字段2) values(字段1的值,字段2的值)

    insert into test(name) values('xiaoqiao');

    insert into 表名 (字段1,字段2) select語句

    #插入通過select查詢得到的數(shù)據(jù)

    insert into user (user,host,passwd) select User,Host,

Password from mysql.user;

    grant 權(quán)限列表 on 數(shù)據(jù)庫.表 to '用戶名'@'授權(quán)主機' identified by '密碼'                     #授權(quán)用戶

    revoke drop on 數(shù)據(jù)庫.表 from '用戶名'@'授權(quán)主機';                                     #撤銷授權(quán)

    altar table 表名 add 字段名 字符型 #添加字段

    alter table test ip varchar;

    altar table 表名 change 源名 修改后的名 字符型 #更改字段

    alter table test change ip sid int;

    altar table 表名 drop 字段名     #刪除字段

    alter table test drop sid;

    set global 變量名=值;     #設(shè)置全局參數(shù)

    set session 變量名=值;             #設(shè)置當(dāng)前會話參數(shù)

    use 數(shù)據(jù)庫名;     #指定默認(rèn)數(shù)據(jù)庫

    create index 索引名 on 表名;     #創(chuàng)建索引

    flush privileges;     #重讀授權(quán)表


創(chuàng)建表的三種方式:

    1、直接創(chuàng)建

    create teble 表名 (字段名1 字段類型,字段名2 字段類型)

    2、復(fù)制表和表中的數(shù)據(jù)

    create teble  表名 select語句

        例:create teble  test select User,Host,Password from mysql.user;

    3、復(fù)制表結(jié)構(gòu)

    create teble tbl_name like 模板表

例:create teble test2 LIKE test

對于以上關(guān)于MySQL常用SQL語句及使用實例,大家是不是覺得非常有幫助。如果需要了解更多內(nèi)容,請繼續(xù)關(guān)注我們的行業(yè)資訊,相信你會喜歡上這些內(nèi)容的。

向AI問一下細(xì)節(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