MySQL的sql語言分類DML、DQL、DDL、DCL、

SQL語言一共分爲4大類:數據定義語言DDL,數據操縱語言DML,數據查詢語言DQL,數據控制語言DCLmysql

1.數據定義語言DDL(Data Definition Language)

  對象: 數據庫和表sql

  關鍵詞: create alter drop truncate(刪除當前表再新建一個如出一轍的表結構)數據庫

  建立數據庫:create database school;函數

  刪除數據庫:drop database school;對象

  切換數據庫:use school;排序

  建立表:create table student(事務

      id int(4) primary key auto_increment,ip

      name varchar(20),開發

      score int(3)rem

    );

  查看數據庫裏存在的表:show tables;

  注意:

    varchar類型的長度是可變的,建立表時指定了最大長度,定義時,其最大值能夠取0-65535之間的任意值,但記錄在這個範圍內,使用多少分配多少,

varchar類型實際佔用空間爲字符串的實際長度加1。這樣,可有效節約系統空間。varchar是mysql的特有的數據類型。

    char類型的長度是固定的,在建立表時就指定了,其長度能夠是0-255之間的任意值。雖然char佔用的空間比較大,但它的處理速度快。

  修改表:alter table student rename (to) teacher;

      alter table student add password varchar(20);

      alter table student change password pwd varchar(20);

      alter table student modify pwd int;

      alter table student drop pwd;

  刪除表:drop table student;

  查看生成表的sql語句:show create table student;

  查看錶結構:desc student;

2.數據操縱語言DML(Data Manipulation Language)   

  對象:紀錄(行)

  關鍵詞:insert update delete

  插入:insert into student values(01,'tonbby',99); (插入全部的字段)

     insert into student(id,name) values(01,'tonbby'); (插入指定的字段)

  更新:update student set name = 'tonbby',score = '99' where id = 01;

  刪除:delete from tonbby where id = 01;

  注意:

     開發中不多使用delete,刪除有物理刪除和邏輯刪除,其中邏輯刪除能夠經過給表添加一個字段(isDel),若值爲1,表明刪除;若值爲0,表明沒有刪除。

     此時,對數據的刪除操做就變成了update操做了。

  truncate和delete的區別:

    truncate是刪除表,再從新建立這個表。屬於DDL,delete是一條一條刪除表中的數據,屬於DML。

3.數據查詢語言DQL(Data Query Language)

  select ... from student where 條件 group by 分組字段 having 條件 order by 排序字段

  執行順序:from->where->group by->having->order by->select

  注意:group by 一般和聚合函數(avg(),count()...)一塊兒使用 ,常常先使用group by關鍵字進行分組,而後再進行集合運算。

     group by與having 一塊兒使用,能夠限制輸出的結果,只有知足條件表達式的結果纔會顯示。

  having和where的區別:

    二者起做用的地方不同,where做用於表或視圖,是表和視圖的查詢條件。having做用於分組後的記錄,用於選擇知足條件的組。

4.數據控制語言DCL(Data Control Language)

  數據控制語言DCL用來授予或回收訪問數據庫的某種特權,並控制數據庫操縱事務發生的時間及效果,對數據庫實行監視,用戶,權限,事務等。

  grant:受權,rollback:回滾。commit:提交。

相關文章
相關標籤/搜索