举例详解—标准SQL的9种语句(重点之三)
来源:互联网 发布:电极编程招聘 编辑:程序博客网 时间:2024/05/22 18:55
我们需要在数据库上执行的大部分工作都是由SQL语句完成的。
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
- 举例详解—标准SQL的9种语句(重点之三)
- 标准SQL的update语句三种用法
- 标准SQL的update语句三种用法
- 标准SQL的update语句三种用法【转】
- 标准SQL的update语句三种用法
- 标准SQL的update语句三种用法
- 标准SQL的update语句三种用法
- SQLite SQL语句之增删改查 详解举例
- 标准SQL的9种语句
- 标准SQL的9种语句
- JAVA的三种标准输入方式举例
- 标准sql包括的9中语句
- 标准Sql语句的写法(一)
- 标准Sql语句的写法(二)
- 经典的SQL语句 之三
- SQL语句优化--重点
- 数据库sql语句举例(oracle10g)
- 标准的SQL查询语句
- 线程安全
- Android利用WebView开发browser中flash无法播放的问题
- 我不就是建了一个普通的QQ群供程序员交流吗?CSDN你有必要删除吗?
- 如何在Windows窗体中调用系统调色板对话框,并获取用户所选择的颜色?
- Wifi throughput(吞吐量) test throuth iperf
- 举例详解—标准SQL的9种语句(重点之三)
- javascript数字验证脚本。
- 修改Android Webkit使浏览器支持WML格式的页面
- Android软件开发之盘点常用系统控件界面大合集(三)
- Python 判断一个进程是否存在
- javaScript学习之HTML DOM Document对象
- 常用的webservice接口
- Axure专辑
- SAP HANA memory consumption and license