程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MySQL—基礎(SQL語句),mysql基礎sql語句

MySQL—基礎(SQL語句),mysql基礎sql語句

編輯:MySQL綜合教程

MySQL—基礎(SQL語句),mysql基礎sql語句


SQL語句:

    DDL(Data Definition Languages)語句:數據定義語言;操作對象:數據段、數據庫、表、列、索引等。

    數據庫:

        創建:CREATE DATABASE dbname;

        刪除:DROP DATABASE dbname;

      表:

        創建:CREATE TABLE tablename(

                         id INT(5) auto_increment(自增關鍵詞) PRIMARY KEY,

                         name VARCHAR(20) NOT NULL);

        刪除:DROP TABLE tablename;

        修改:ALTER TABLE tablename RENAME new_tablename;(修改表名)

           ALTER TABLE tablename MODIFY name VARCHAR(10);(修改某列的屬性)

           ALTER TABLE tablename ADD column_name VARCHAR(20) [FIRST/(AFTER col_name)](作為插入的位置);(添加一列)

           ALTER TABLE tablename DROP col_name;(刪除一列)

           ALTER TABLE tablename CHANGE old_col_name new_col_name VARCHAR(20) [FIRST/(AFTER col_name)];(修改列名)

           (!CHANGE和MODEFY區別:CHANGE可以修改列名,MODIFY不可以,但是CHANGE兩次列名都得寫。)

     DML(Data Manipulation Languages)語句:數據操縱語句;操作對象:表的增刪查改

         增:INSERT INTO tablename(col1_name,col2_name) values(value1,value2);

         刪:DELETE FROM tablename [WHERE CONDITION];

         查:SELECT * FROM tablename;

         改:UPDATE tablename set col_name = 'value' where id = 1;

         查詢升級版(還會更新):

            ONE:

              SELECT dep,COUNT(*)

              FROM tablename

              GROUP BY dep

              HAVING COUNT(*) >= 2;

            TWO:

              SELECT *

              FROM tablename

              WHERE col_name='abc'

              LIMIT 0,2(0,2意為:從序號0開始後面的兩條數據,eg:2,2意為,從序號1開始後面的兩條)

              ORDER BY col_name DESC;

            THREE:

              SELECT *

              FROM tablename

              WHERE dep IN(

                      SELECT dep

                      FROM tablename_1);(!如果子查詢記錄數唯一,IN可以用“=”代替。)

            FOUR:

              SELECT dep FROM tablename

              UNION / (UNION ALL)

              SELECT dep FROM tablename_2

         知識點:表的連接查詢。

             WITH ROLLUP:對分類聚合的結果再匯總。

             HAVING和WHERE的區別:WHERE是聚合前進行條件篩選,HAVING是聚合後進行條件篩選,能用WHERE時優先使用WHERE這樣對查詢可以

                          做到一定的優化。

             UNION和UNION ALL的區別:UNION是將UNION ALL後的結果進行一次DISTINCT,去除重復記錄後的結果。

     DCL(Data Control Languages)語句:數據控制語言(開發人員很少使用);操作對象:數據許可、訪問級別

         授權:GRANT SELECT,INSERT ON tablename.* TO 'Z1'@'localhost' IDENTIFY BY '123';

         收回:REVOKE INSERT ON tablename.* FROM 'Z1'@'localhost';

        知識點:元數據,為數據的數據,如表名列名等表的各種屬性名稱。

            information_schema數據庫就是用來記錄MySQL中的元數據信息,此數據庫是一個虛擬的數據庫,物理上並不存在相關的目錄和文件,全部為視圖。

            視圖:

               SCHEMATA:所有數據庫信息。

               TABLES:數據庫中的表信息

               COLUMNS:表中的列信息

               STATISTICS:表索引的信息

     

           

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved