日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

MySQL基礎(chǔ)筆記——SQL語(yǔ)法

 東西二王 2020-02-07

SQL

一、SQL

Structured Query Language:結(jié)構(gòu)化查詢(xún)語(yǔ)言,縮寫(xiě)為SQL

其實(shí)就是定義了操作所有關(guān)系型數(shù)據(jù)庫(kù)的規(guī)則,標(biāo)準(zhǔn)組織指定的規(guī)則

每一種數(shù)據(jù)庫(kù)操作的方式不一樣的地方稱(chēng)之為'方言'

MySQL基礎(chǔ)筆記——SQL語(yǔ)法

二、SQL通用語(yǔ)法

SQL語(yǔ)句可以單行或者多行書(shū)寫(xiě),以分號(hào)結(jié)尾

可以使用空格和縮進(jìn)來(lái)增強(qiáng)語(yǔ)句的可讀性

MySQL數(shù)據(jù)庫(kù)的SQL語(yǔ)句不區(qū)分大小寫(xiě),但是關(guān)鍵字建議大寫(xiě)

注釋方式

-- 單行注釋('--'之后必須加空格) #單行注釋 /* 多行 注釋 */

三、SQL的分類(lèi)

DDL(Data Definition Language):數(shù)據(jù)定義語(yǔ)言

操作數(shù)據(jù)庫(kù)和表

DML(Data Manipulation Language):數(shù)據(jù)庫(kù)操作語(yǔ)言

增刪改表中的數(shù)據(jù)

DQL(Data Query Language):數(shù)據(jù)查詢(xún)語(yǔ)言

查詢(xún)表

DCL(Data Control Language):數(shù)據(jù)庫(kù)控制語(yǔ)言

MySQL基礎(chǔ)筆記——SQL語(yǔ)法

授權(quán)操作權(quán)限

DDL:操作數(shù)據(jù)庫(kù)、表

1、操作數(shù)據(jù)庫(kù):CRUD

C(Create):創(chuàng)建

-- 創(chuàng)建數(shù)據(jù)庫(kù)
mysql> CREATE DATABASE city;

-- 首先判斷數(shù)據(jù)庫(kù)是存在,不存在才創(chuàng)建
mysql> CREATE DATABASE IF NOT EXISTS TEST;

-- 指定數(shù)據(jù)庫(kù)的字符集
mysql> CREATE DATABASE TEXT CHARACTER SET GBK;

-- 創(chuàng)建名字為school的數(shù)據(jù)庫(kù),先判斷是否存在,并且指定使用字符集GBK
mysql> CREATE DATABASE IF NOT EXISTS SCHHOL CHARACTER SET GBK;

R(Retrieve):查詢(xún)

-- 查詢(xún)數(shù)據(jù)庫(kù)的名稱(chēng) SHOW DATABASES; mysql> SHOW DATABASES; -------------------- | Database | -------------------- | city | | information_schema | | mysql | | performance_schema | | sys | -------------------- -- 查看某個(gè)數(shù)據(jù)庫(kù)的字符集:查詢(xún)某個(gè)數(shù)據(jù)庫(kù)的創(chuàng)建語(yǔ)句 mysql> show create database mysql; ---------- --------------------------------------------------------------------------------------------------------------------------------- | Database | Create Database | ---------- --------------------------------------------------------------------------------------------------------------------------------- | mysql | CREATE DATABASE `mysql` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci */ /*!80016 DEFAULT ENCRYPTION='N' */ | ---------- ---------------------------------------------------------------------------------------------------------------------------------

U(Update):修改

-- 修改數(shù)據(jù)庫(kù)的字符集
mysql> ALTER DATABASE SCHOOL CHARACTER SET UTF8;

D(Delete):刪除

-- 刪除數(shù)據(jù)庫(kù) mysql> DROP DATABASE SCHOOL; -- 先判斷數(shù)據(jù)庫(kù)是否存在,如果存在才刪除 mysql> DROP DATABASE IF EXISTS SCHOOL;

使用數(shù)據(jù)庫(kù)

-- 使用數(shù)據(jù)庫(kù)
mysql> USE CITY;

-- 查詢(xún)當(dāng)前正在使用的數(shù)據(jù)庫(kù)名稱(chēng)
mysql> SELECT DATABASE();
 ------------ 
| DATABASE() |
 ------------ 
| city       |
 ------------ 
1 row in set (0.00 sec)

2、操作表

C(Create):創(chuàng)建

  • 基本語(yǔ)法:
  • CREATE TABLE 表名( 列名1,數(shù)據(jù)類(lèi)型1, 列名2,數(shù)據(jù)類(lèi)型2, 列名3,數(shù)據(jù)類(lèi)型3 ...... 列名n,數(shù)據(jù)類(lèi)型n ); #最后一行不需要加逗號(hào)
  • 常用數(shù)據(jù)類(lèi)型:
  • INT 整數(shù)
    DOUBLE 小數(shù)(指定一共多少位,小數(shù)點(diǎn)后多少位):SCORE DOUBLE(5,2)
    DATE 日期類(lèi)型:只包含年月日,yyyy-MM-dd
    DATETIME 時(shí)間類(lèi)型:年月日時(shí)分秒,yyyy-MM-dd HH:mm:ss
    TIMESTAMP 時(shí)間戳類(lèi)型:年月日時(shí)分秒,yyyy-MM-dd HH:mm:ss
    -- 如果是TIMESAMP類(lèi)型,不給其賦值或者指定為NULL,將會(huì)默認(rèn)使用系統(tǒng)的當(dāng)前時(shí)間來(lái)自動(dòng)賦值
    VARCHAR 字符串類(lèi)型(指定長(zhǎng)度):NAME VARCHAR(20)
  • 實(shí)例
  • -- 學(xué)生表 -- 編號(hào) 姓名 年齡 分?jǐn)?shù) 出生日期 添加時(shí)間 mysql> CREATE TABLE STU_MESSAGE( -> ID INT, -> NAME VARCHAR(32), -> AGE INT, -> SCORE DOUBLE(4,1), -> BIRTHDAY DATE, -> INSERT_TIME TIMESTAMP -> ); Query OK, 0 rows affected, 1 warning (0.60 sec) -- 檢查表結(jié)構(gòu) mysql> DESC STU_MESSAGE; ------------- ------------- ------ ----- --------- ------- | Field | Type | Null | Key | Default | Extra | ------------- ------------- ------ ----- --------- ------- | ID | int(11) | YES | | NULL | | | NAME | varchar(32) | YES | | NULL | | | AGE | int(11) | YES | | NULL | | | SCORE | double(4,1) | YES | | NULL | | | BIRTHDAY | date | YES | | NULL | | | INSERT_TIME | timestamp | YES | | NULL | | ------------- ------------- ------ ----- --------- ------- 6 rows in set (0.00 sec) -- 復(fù)制表 mysql> CREATE TABLE STU LIKE STU_MESSAGE;

    R(Retrieve):查詢(xún)

    -- 查詢(xún)某個(gè)數(shù)據(jù)庫(kù)當(dāng)中的表名稱(chēng)
    mysql> SHOW TABLES;
     ---------------- 
    | Tables_in_city |
     ---------------- 
    | student        |
     ---------------- 
    
    -- 查詢(xún)表的創(chuàng)建語(yǔ)句
    mysql> SHOW CREATE TABLE STUDENT;
     --------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 
    | Table   | Create Table                                                                                                                                                                                                                                                               |
     --------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 
    | STUDENT | CREATE TABLE `student` (
      `ID` int(11) DEFAULT NULL,
      `NAME` varchar(32) DEFAULT NULL,
      `AGE` int(11) DEFAULT NULL,
      `SCORE` double(4,1) DEFAULT NULL,
      `BIRTHDAY` date DEFAULT NULL,
      `INSERT_TIME` timestamp NULL DEFAULT NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=gbk |
     --------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 
    
    -- 查詢(xún)表結(jié)構(gòu)
    mysql> DESC USER;
     -------------------------- ----------------------------------- ------ ----- ----------------------- ------- 
    | Field                    | Type                              | Null | Key | Default               | Extra |
     -------------------------- ----------------------------------- ------ ----- ----------------------- ------- 
    | Host                     | char(255)                         | NO   | PRI |                       |       |
    | User                     | char(32)                          | NO   | PRI |                       |       |
    | Select_priv              | enum('N','Y')                     | NO   |     | N                     |       |
    | Insert_priv              | enum('N','Y')                     | NO   |     | N                     |       |
    | Update_priv              | enum('N','Y')                     | NO   |     | N                     |       |
    | Delete_priv              | enum('N','Y')                     | NO   |     | N                     |       |
    | Create_priv              | enum('N','Y')                     | NO   |     | N                     |       |
    | Drop_priv                | enum('N','Y')                     | NO   |     | N                     |       |
    | Reload_priv              | enum('N','Y')                     | NO   |     | N                     |       |
    | Shutdown_priv            | enum('N','Y')                     | NO   |     | N                     |       |
    | Process_priv             | enum('N','Y')                     | NO   |     | N                     |       |
    | File_priv                | enum('N','Y')                     | NO   |     | N                     |       |
    | Grant_priv               | enum('N','Y')                     | NO   |     | N                     |       |
    | References_priv          | enum('N','Y')                     | NO   |     | N                     |       |
    | Index_priv               | enum('N','Y')                     | NO   |     | N                     |       |
    | Alter_priv               | enum('N','Y')                     | NO   |     | N                     |       |
    | Show_db_priv             | enum('N','Y')                     | NO   |     | N                     |       |
    | Super_priv               | enum('N','Y')                     | NO   |     | N                     |       |
    | Create_tmp_table_priv    | enum('N','Y')                     | NO   |     | N                     |       |
    | Lock_tables_priv         | enum('N','Y')                     | NO   |     | N                     |       |
    | Execute_priv             | enum('N','Y')                     | NO   |     | N                     |       |
    | Repl_slave_priv          | enum('N','Y')                     | NO   |     | N                     |       |
    | Repl_client_priv         | enum('N','Y')                     | NO   |     | N                     |       |
    | Create_view_priv         | enum('N','Y')                     | NO   |     | N                     |       |
    | Show_view_priv           | enum('N','Y')                     | NO   |     | N                     |       |
    | Create_routine_priv      | enum('N','Y')                     | NO   |     | N                     |       |
    | Alter_routine_priv       | enum('N','Y')                     | NO   |     | N                     |       |
    | Create_user_priv         | enum('N','Y')                     | NO   |     | N                     |       |
    | Event_priv               | enum('N','Y')                     | NO   |     | N                     |       |
    | Trigger_priv             | enum('N','Y')                     | NO   |     | N                     |       |
    | Create_tablespace_priv   | enum('N','Y')                     | NO   |     | N                     |       |
    | ssl_type                 | enum('','ANY','X509','SPECIFIED') | NO   |     |                       |       |
    | ssl_cipher               | blob                              | NO   |     | NULL                  |       |
    | x509_issuer              | blob                              | NO   |     | NULL                  |       |
    | x509_subject             | blob                              | NO   |     | NULL                  |       |
    | max_questions            | int(11) unsigned                  | NO   |     | 0                     |       |
    | max_updates              | int(11) unsigned                  | NO   |     | 0                     |       |
    | max_connections          | int(11) unsigned                  | NO   |     | 0                     |       |
    | max_user_connections     | int(11) unsigned                  | NO   |     | 0                     |       |
    | plugin                   | char(64)                          | NO   |     | caching_sha2_password |       |
    | authentication_string    | text                              | YES  |     | NULL                  |       |
    | password_expired         | enum('N','Y')                     | NO   |     | N                     |       |
    | password_last_changed    | timestamp                         | YES  |     | NULL                  |       |
    | password_lifetime        | smallint(5) unsigned              | YES  |     | NULL                  |       |
    | account_locked           | enum('N','Y')                     | NO   |     | N                     |       |
    | Create_role_priv         | enum('N','Y')                     | NO   |     | N                     |       |
    | Drop_role_priv           | enum('N','Y')                     | NO   |     | N                     |       |
    | Password_reuse_history   | smallint(5) unsigned              | YES  |     | NULL                  |       |
    | Password_reuse_time      | smallint(5) unsigned              | YES  |     | NULL                  |       |
    | Password_require_current | enum('N','Y')                     | YES  |     | NULL                  |       |
    | User_attributes          | json                              | YES  |     | NULL                  |       |
     -------------------------- ----------------------------------- ------ ----- ----------------------- ------- 

    U(Update):修改

    -- 修改表名 mysql> ALTER TABLE STU RENAME TO STUDENT; -- 修改表的字符集 mysql> ALTER TABLE STUDENT CHARACTER SET UTF8; -- 添加列 mysql> ALTER TABLE STUDENT ADD GENDER VARCHAR(10); -- 刪除列 mysql> ALTER TABLE STUDENT DROP SEX; -- 修改列的名稱(chēng)和數(shù)據(jù)類(lèi)型 mysql> ALTER TABLE STUDENT CHANGE GENDER SEX VARCHAR(20); -- 修改列的數(shù)據(jù)類(lèi)型 mysql> ALTER TABLE STUDENT MODIFY SEX VARCHAR(10);

    D(Delete):刪除

    -- 先判斷表是否存在,然后刪除
    mysql> DROP TABLE IF EXISTS STUDENT;

    DML:增刪改表中數(shù)據(jù)

    MySQL基礎(chǔ)筆記——SQL語(yǔ)法

    添加數(shù)據(jù)

    • 語(yǔ)法
    INSERT INTO TABLE_NAME(NAME1,NAME2,...,NAMEn)VALUES (VALUE1,VALUE2,...,VALUEn);
  • 注意事項(xiàng)
  • 1、列名和值要一一對(duì)應(yīng)
    2、如果表名后面不定義列名,則默認(rèn)給所有列添加值
    3、除了數(shù)字之外的其他類(lèi)型需要雙引號(hào)或者是單引號(hào)
  • 實(shí)例
  • INSERT INTO STUDENT(ID, NAME, AGE) VALUES (1, '張無(wú)忌', 18); INSERT INTO student VALUES(2, '趙敏', 17, 99.9, '20000510', CURRENT_TIMESTAMP());
    刪除數(shù)據(jù)
    • 語(yǔ)法
    DELETE FROM TABLE_NAME WHERE CONDITION;
  • 注意事項(xiàng)
  • 1、如果不加條件,就是刪除表中所有數(shù)據(jù) 2、如果要?jiǎng)h除全部的數(shù)據(jù),最好采用TRUNCATE,因?yàn)槿绻遣捎肈ELETE,有多少的數(shù)據(jù)就會(huì)執(zhí)行多少次,效率特別低
  • 實(shí)例
  • -- 刪除符合條件的數(shù)據(jù)
    DELETE FROM STUDENT WHERE ID = 1;
    -- 刪除全部數(shù)據(jù)(執(zhí)行兩個(gè)操作,刪除表,然后再創(chuàng)建一個(gè)一模一樣的空表)
    TRUNCATE TABLE STUDENT;
    修改數(shù)據(jù)
    • 語(yǔ)法
    UPDATE TABLE_NAME SET NAME1 = VALUE1, NAME2 = VALUE2,..., NAMEn = VALUEn WHERE CONDITION;
  • 注意事項(xiàng)
  • 1、如果不加任何條件,則將表中的全部數(shù)據(jù)進(jìn)行修改
  • 實(shí)例
  • UPDATE STUDENT SET AGE = 117 WHERE NAME = '趙敏';
    DQL:查詢(xún)
    SELECT * FROM TABLE_NAME;

      本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀(guān)點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
      轉(zhuǎn)藏 分享 獻(xiàn)花(0

      0條評(píng)論

      發(fā)表

      請(qǐng)遵守用戶(hù) 評(píng)論公約

      類(lèi)似文章 更多