程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MySQL學習筆記_5_SQL語言的設計與編寫(上)

MySQL學習筆記_5_SQL語言的設計與編寫(上)

編輯:MySQL綜合教程

MySQL學習筆記_5_SQL語言的設計與編寫(上)




SQL語言的設計與編寫(上)

一、SQL語句分類

數據定義語言(DDL):

用於定義和管理數據對象,包括數據庫、數據表、視圖、索引等。例如:CREATE、DROP、ALTER等語句。

數據操作語言(DML):【和表中的數據記錄有關的語言】

用於操作數據庫對象中所包含的數據。例如:INSERT、UPDATE、DELETE語句。

數據查詢語言(DQL):

用於查詢數據庫對象中所包含的數據,能夠進行單表查詢、連接查詢、嵌套查詢,以及集合查詢等各種復雜程度不同的數據庫查詢,並將數據返回到客戶機中顯示。例如:SELECT語句(占60%)。

數據控制語言(DCL):

是用來管理數據庫的語言,包含管理權限及數據更改。例如:GRANT、REVOKE、COMMIT、ROLLBACK等語句。

二、SQL語句應用案例

1、DDL【可以按照以下格式寫入一個文件,然後再粘貼到MySQL數據庫中】

createtable if not exists cats (

idint not null auto_increment,

pidint not null default '0',

namevarchar(30) not null default '',

desntext not null default '',

primarykey(id),

indexname(name,pid)

);

createtable if not exists products(

idint not null auto_increment,

cidint not null default 0,

namevarchar(60) not null default '',

pricedouble (7,2) not null default 0.00,

numint not null default 0,

desntext,

ptimeint not null default 0,

primarykey(id),

keypname(name,price)

);

2、DML

a)insert,插入表數據

insertinto 表名([字段列表])values(值列表),(值列表2),(值列表3),...,(值列表n);

特點:

1.如果在表名後沒有給出字段列表,則值列表必須填充所有字段的值,必須按表中默認的順序插入

2.所有需要寫字段名的地方都不加單引號或雙引號,但是建議所有值都要以字符形式使用

3.建議在插入數據時,最好給出字段列表,則值只要和字段列表一一對應即可,可以不按表中字段的順序

b)update表名 set字段='值'[,字段2='值2',...,字段n='值n'][條件]#條件指定需要更改的記錄

e.g. updatecats set pid='3' where id='1';

updatecats set pid='99' where id >= '1' && id <= '3';

c)deletefrom 表名 [條件]

deletefrom cats; #清空數據表

truncatecats; #也可以清空數據表,效率更高,truncate將...截斷

d)where條件

無論更新、刪除、查找,只要寫對條件就能准確找到要管理的一條或多條數據

【都可以使用各種運算符號,可以把字段當作一個變量來使用】

3、DQL【select】

SELECT[ALL | DISTINCT]

{*|table.*|[table.]field1[asalias1][,[table.]field2[as alias2]][.....]}

FROM 表名

[WHERE...]

[GROUPBY...]

[HAVING...]

[ORDERBY ...]

[LIMITcount]

使用SELECT查詢語言,目的是可以按用戶的想法將數據查出來,將結果返回!

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