1, SQL SELECT 语句:
(1)语法:Select 列名称 From 表名称 或 Select * From 表名称
(2)实例:
Market_Information
Market_name | BeerToy_Sales | Quantity | Data |
明珠 | ¥150 | 10 | 2012—2—01 |
元辰 | ¥120 | 11 | 2012—3—05 |
朝阳 | ¥130 | 12 | 2012—3—04 |
万达 | ¥140 | 13 | 2012—5—16 |
朝阳 | ¥140 | 9 | 2012—7—28 |
题目:选取列名为“Market_name”和“BeerToy_Sales”的内容。
解析:Select Market_name,BeerToy_Sales From MarketInformation
结果:
Market_name | BeerToy_Sales |
明珠 | ¥150 |
元辰 | ¥120 |
朝阳 | ¥130 |
万达 | ¥140 |
朝阳 | ¥140 |
2,SQL CREATE 语句:
<1>SQL CREATETABLE语句:
(1)语法:create Table 表名称
(列名称1,数据类型,
列名称2,数据类型,
列名称3,数据类型
.........
)
(2)实例:
题目:创建名为“Person_Information”的表,该表包含3个列,列名分别为:“Id”,“Name”,“Address”
解析:Create Table Person_Information
( Id int,
Name varchar(255),
Address varchar (255) ,
)
结果:
Id | Name | City |
<2> SQL CREAT INDEX(在表上创建一个简单的索引。允许使用重复的值) 或 SQL CREATE UNIQUE INDEX (在表上创建一个唯一的索引。唯一的索引意味着两个行不能拥有相同的索引值)
(1)语法:Create Index index _name
On table_name (colum_name)
(注:“column_name”:需要索引的列)
或: Creat Unique Index index_name
On table_name(column_name)
( 2)实例: Create Index 实例:
题目: 创建一个简单索引:名为“NameIndex”,在PersonInformation表的Name列 。
解析:Create Index NameIndex
On PersonInformation (Name,DESC)
(注1:DESC表示以降序索引某个列中的值。如果不写则默认升序。
注2:假如需要给多个列添加索引,则在括号中列出这些列的名臣,用逗号隔开既可
例:Create Index NameIndex
On PersonInformation (Name,Address)
)
3,SQL DROP(删除索引、表、数据库):
<1>SQL Drop Index 语句:删除表格中的索引
(1)语法:
用于Microsoft SQLlet(以及Microsoft Access)的语法:
Drop Index index_name On table_name
用于MS SQL Server的语法:
Drop Index table_name,index_name
用于IBM DB2 和 Oracle语法:
Drop Index index_name
用于MySQL的语法:
Alter Table table_name Drop Index index_name
<2> SQL DROP TABLE(删除表(表的结构,属性以及索引也会被删掉)):
(1)语法:Drop Table 表名称
<3> SQL DROP DATABASE 语句(删除数据库):
(1)语法:Drop Database 数据库名称
(注:Drop语句将整个表删除,即删除了表的结构、属性、索引;如果仅仅需要删除表内的数据则需要用Truncate Table语句,语法:Truncate Table 表名称)
4,SQL ALTER 语句(用于在表中添加、修改、删除列):
(1)语法:
在表中添加列:Alter Table table_name
Add column_name datatype
删除表中的列:Alter Table table_name
Drop Couumn column_name
(注:某些数据库系统不允许这种在数据库表中删除列的方式(Drop Column column_name))
(2) 实例(在表中添加列):
Market_Information:
Market_name | BeerToy_Sales | Quantity |
明珠 | ¥150 | 10 |
元辰 | ¥120 | 11 |
朝阳 | ¥130 | 12 |
万达 | ¥140 | 13 |
朝阳 | ¥140 | 9 |
题目:在表“Market_Information”中添加一个名为“Date“的列。
解析:Alter Table Market_Information
Add Date date
结果:
Market_name | BeerToy_Sales | Quantity | Data |
明珠 | ¥150 | 10 | |
元辰 | ¥120 | 11 | |
朝阳 | ¥130 | 12 | |
万达 | ¥140 | 13 | |
朝阳 | ¥140 | 9 |
实例(删除表中的列):
Market_Information表:
Market_name | BeerToy_Sales | Quantity | Date |
明珠 | ¥150 | 10 | |
元辰 | ¥120 | 11 | |
朝阳 | ¥130 | 12 | |
万达 | ¥140 | 13 | |
朝阳 | ¥140 | 9 |
题目:删除上表中的“Date”列。
解析:Alter TAble Market_Information
Drop Column Date
结果:
Market_name | BeerToy_Sales | Quantity |
明珠 | ¥150 | 10 |
元辰 | ¥120 | 11 |
朝阳 | ¥130 | 12 |
万达 | ¥140 | 13 |
朝阳 | ¥140 | 9 |
5,SQL INSERT 语句:
(1)语法:
用于向表中插入行:
Insert Into 表名称 Values (值1,值2,.....)
用于向指定的列中插入数据:
Insert Into table_name (列1,列2,.....)Values(值1,值2,......)
(2)实例(插入行):
Market_Information表:
Market_name | BeerToy_Sales | Quantity | Data |
明珠 | ¥150 | 10 | 2012—2—01 |
元辰 | ¥120 | 11 | 2012—3—05 |
题目:插入一行:“朝阳” “¥130” “12” “2012—3—04”。
解析:Insert Into Market_Information Values("朝阳","¥130","12',"2012—3—04")
结果:
Market_name | BeerToy_Sales | Quantity | Data |
明珠 | ¥150 | 10 | 2012—2—01 |
元辰 | ¥120 | 11 | 2012—3—05 |
朝阳 | ¥130 | 12 | 2012—3—04 |
实例(在指定列中插入数据):
Market_Information表:
Market_name | BeerToy_Sales | Quantity | Data |
明珠 | ¥150 | 10 | 2012—2—01 |
题目:向列名为“Market_name” 和 “BeerToy_Sales”两列中分别添加“元辰” “¥120”。
解析:Insert Into Market_Information (Market,BeerToy_Sales) Values ('元辰','¥120')
结果:
Market_name | BeerToy_Sales | Quantity | Data |
明珠 | ¥150 | 10 | 2012—2—01 |
元辰 | ¥120 |
6,SQL UPDATE (用于修改表中的数据):
(1)语法:UPDATE 表名称 Set 列名称=新值 Where 列名称=某值
(2)实例(更新某一行中的某一列):
Market_Information表:
Market_name | BeerToy_Sales | Quantity | Data |
明珠 | ¥150 | 10 | 2012—2—01 |
元辰 |
题目:为Market_name 为“元辰”的超市添加 BeerToy_Sales。
解析:Update Market_Information Set BeerToy_Sales Where Market_name=’元辰'
结果:
Market_name | BeerToy_Sales | Quantity | Data |
明珠 | ¥150 | 10 | 2012—2—01 |
元辰 | ¥120 |
实例(更新某一行中的若干列):
Market_Information表:
Market_name | BeerToy_Sales | Quantity | Data |
明珠 | ¥150 | 10 | 2012—2—01 |
元辰 |
题目:为Market_name 为“元辰”的超市添加 BeerToy_Sales,和 Quantity。
解析:Update Market_Information Set BeerToy_Sales='¥120',Quantity=’12‘
结果:
Market_name | BeerToy_Sales | Quantity | Data |
明珠 | ¥150 | 10 | 2012—2—01 |
元辰 | ¥120 | 12 |
7,SQL DELETE语句(用于删除表中的行):
(1)语法:Delete From 表名称 Where 列名称=值
(2)实例(删除某行):
Market_Information
Market_name | BeerToy_Sales | Quantity | Data |
明珠 | ¥150 | 10 | 2012—2—01 |
元辰 | ¥120 | 11 | 2012—3—05 |
朝阳 | ¥130 | 12 | 2012—3—04 |
题目:删除Market_name 为“朝阳”所在的列。
解析:Delete From Market_Information Where Market_name='朝阳'
结果:
Market_name | BeerToy_Sales | Quantity | Data |
明珠 | ¥150 | 10 | 2012—2—01 |
元辰 | ¥120 | 11 | 2012—3—05 |
(注:删除所有行(可以在不删除表的情况下删除所有的行。这意味着表的结构、属性、和索引都是完整的):
语法:Delete From table_name 或者 Delete * From table_name )
8,SQL GRANT语句(向用户授予操作权限)
(1)语法:Grant <权限> [,<权限>,....]
[On <对象类型> <对象名>]
To <用户 | 角色> [,<j用户 | 角色>,....] | Public
[With Grant Option]
(2)实例:
题目1:把查询 Market_Information 表的权限授给用户user1
解析:Grant Select On Table Market_Information To user1
题目2:把对Market_Information表和Project表的全部操作授权与user2和user3。
解析:Grant All Priviliges On Table Market_Information,Project To user2,user3
题目3:把对表Project的查询权限授予给所有用户。
解析:Grant Select On Table Project to Public
题目4:把查询Project表和修改工程日期的权限授予给用户user1。
解析:Grant Select,Update(Date) On Table Project To user1
题目5:把对表Project的Insert权限授予user1用户,并允许把此权限在授予其他用户。
解析:Grant Insert On Table Project To user1 With Grant Option
9,SQL REVOKE语句(收回语句权限;收回对象权限):
(1)语法:
收回语句权限:Revoke <语句权限> | <角色>[<语句权限> | <角色>].....
From <用户名> | <角色> | Public[<用户名>| <角色>].....
收回对象权限:Revoke <对象权限> | <角色>[<对象权限> | <角色>].....
From <用户名> | <角色> | Public[<用户名>| <角色>].....
(2)实例(收回语句权限):
题目:收回用户user1所拥有的Create Table的语句权限。
解析:Revoke Create Table
From user1
实例(收回对象权限):
题目1:收回用户user1对表Project的查询权限。
解析:Revoke Select
On Project
From user1
题目2:收回用户user2查询Teachert表和修改教师职称的权限。
解析:Revoke Select,Update(Prof)
On Teacher
From user2
题目3:首先从public角色中收回Select权限,然后,收回用户user,user2,user3的特定权限。
解析:Use pubs
Go
Revoke Insert,Update,Delete
On S
From user1,user2,user3
- 3楼hejingyuan648分钟前
- 学习了
- 2楼wangxuhebeibd1小时前
- 哥的沙发
- 1楼liutengteng130昨天 20:08
- 总结的不错,加油。