天天看點

SQL語句

章節:

1.建立,删除庫

2.添加,删除,修改表

3.插入,删除,修改表内容

4.授權,回收使用者權限

5.查詢(查詢函數)

6.多表查詢

一、建立,删除庫

CREATE    DATABASE  [IF NOT EXIST]  db_name [ CHARACTER  SET = ][ COLLATE =];

DROP    DATABASE [IF EXIST]  db_name;

二、添加,删除,修改表

CREATE  TABLE   tb_name (字段定義) select .... from xxx ;     //複制表的資料

CREATE  TABLE   tb_name (字段定義)  LIKE  OLD_TB_NAME ;  //複制表的定義

CREATE  TABLE   tb_name (字段定義)  [engine= MYISAM | Innodb];

DROP  TABLE   tb_name ;

    SHOW  TABLE  STATUS LIKE '';    //檢視表的資訊

    ①添加字段,添加字段key

         ALTER TABLE  tb_name  ADD   字段   字段類型

         ALTER  TABLE tb_name  ADD   字段   PRIMARY KEY

    ②修改字段

        ALTER TABLE tb_name  MODIFY   字段   字段類型

    ③删除字段

      ALTER  TABLE  tb_name DROP  字段  字段類型

     ④修改字段名稱    

       ALTER TABLE tb_name  CHANGE 

三、插入,删除,修改表内容

    插入表字段資料

          INSERT INTO tb_name()value(),(),();

         INSERT INTO tb_name(xx,xx,xx)select .....;

    修改表字段值

            UPDATE  tb_name   SET  字段=“value”   WHERE ...

    删除表字段值

            DELETE  FROM  tb_name    WHERE ....;

 四、授權,回收權限

       授權:

            GRANT  權限   ON   db_name.tb_name  TO   user@host  [IDENTIFIED BY  PASSWORD];

            GRANT  ALL   ON   db_name.tb_name  TO   user@host  [IDENTIFIED  BY  PASSWORD];

        檢視目前使用者的授權情況:

            SHOW    GRANTS;

        檢視其他使用者的授權情況:

            SHOW    GRANTS  FOR  user@host;

        撤銷使用者的授權:

             revoke all on *.* from dba@localhost;

 五、查詢(查詢函數)

          select   字段1,字段2   FROM  tb_name  WHERE  ....;

                        BETWEEN   value  AND  value;

              IN (value1,value2,value3);

                        IS NOT IN (value1,value2,value3)

                        IS   NULL

                        IS  NOT  NULL

                        LIKE

       查詢函數:  max() ,  min(),avg(),count(),sum()

        GROUP BY  字段   //通過字段來分組,将同一個該字段的合為一個組來操作,例如統計一個組的資訊

        HAVING   //等效于where,用于GROUP BY後的條件操作

         ORDER BY  字段     //以字段升序排列

                ORDER  BY  字段  DESC   //以字段反序排列

         LIMIT   2   //限制為前2行

六、多表查詢

        SELECT  *   FROM  tb1,tb2   WHERE tb1.xx = tb2.yy;

左外聯結:

        SELECT *  FROM  left_tb  LEFT  JOIN  right_tb  ON   條件   //以左表為依據,判斷條件,符合的就顯示一起,如果right_tb為空也一起顯示

右外聯結:

        SELECT  *  FROM  left_tb  RIGHT  JOIN  right_tb  ON   條件