学习Asp.Net应当知道的基本数据库操作语句

来源:互联网 发布:javascript ajax json 编辑:程序博客网 时间:2024/06/05 18:06

一、数据库的建立

一、建立数据库

Access中建立名为自己名字的数据库(不能是汉字),比如:NewsData

二、建立表

        zgdx数据库里建立新闻栏目表名字为lanmu,新闻表名字news
                               文章栏目表lanmu中各字段说明

字段名

数据类型

字段大小

是否主键

默认值

说明

lanmuId

自动编号

长整型

文章栏目Id

lmName

文本

50

栏目名称






新闻表
news中各字段说明

字段名

数据类型

字段大小

是否主键

默认值

说明

id

自动编号

长整型

新闻唯一编号

lanmuId

数字

长整型

栏目Id

title

文本

50

新闻标题50

name

文本

20

新闻作者

content

备注

 

新闻内容

click

数字

长整型

0

新闻阅读次数

writedate

日期/时间

长日期

Date()

新闻书写日期

 











三、建立表间关系。

        对栏目表和新闻表,建立一对多的关系,并且建立级联更新相关字段,级联删除相关字段

二、基本SQL语句的语法

一、查询记录

基本语法:Select字段名 from表名 where条件

1、  查询结果,显示所有字段。用*代表所有

示例1:从news表中选择所有新闻

select * from news

2、  查询结果,显示指定字段。多个字段用逗号隔开

示例1:从news表中选择所有新闻,但只显示title,name,content字段

select title,name,content from news

3、  where后指定查询条件。条件运算符有=<>>=<=<>。逻辑运算符not and or

示例1:从news表显示id号等于3的新闻

select * from news where id=3

示例2:从news表显示热点文章(提示:点击次数大于10的都是热点文章)

select * from news where click>10

示例3:从news表显示200711日之后的文章(提示:cdate()函数把字符串类型转换为日期类型,在SQL语句中单引号括起来的为字符串)

select * from news where writedate>cdate('200711')

示例4:从news表显示200711日之后的热点文章

select * from news where click>10 and writedate>cdate('200711')

示例5:从news表,显示出名字为“张美丽”发表的所有文章

select * from news where name='张美丽'

4、  利用like运算符,

*任意长度的字符;(注:在SQL Server中用%

?表示任何一个单一的字符;

示例1:从news表中,搜索标题(字段名为title)中含有“ASP.NET”的所有文章

select * from news where title like'*ASP.NET*'

示例2:从news表中,搜索内容(字段名为content)中含有“ASP.NET”的所有文章

select * from news where content like'*ASP.NET*'

示例3:从news表中,查找作者姓“李”的所有人发表的文章

select * from news where name like '*'

示例4:从news表中,查找作者姓“李”的,名字为两个字所有人发表的文章

select * from news where name like '?'

5、  对查询的记录进行排序。

语法:Select字段名 from表名 order by 字段名 descasc

desc表示降序,asc表示升序

示例1:从news表中的显示所有文章,按书写时间(字段名为writedate)进行降序排列

select * from news order by writedate desc

示例1:从news表中的热点文章,按点击次数(字段名为click)进行降序排列

select * from news where click>10 order by click desc

6、  对查询记录返回指定行数。

语法:Select top数字字段 from表名……

示例1:从news表中的显示前6条最新新闻

select top 6 * from news order by writedate desc

7、  常用函数

SUM ( )求和

AVG ( )平均值

COUNT (* )计算记录的数目

MAX 最大值

MIN 最小值

示例1:从news表中,显示总共有多少条新闻

select count(*) from news

示例2:从news表中,显示点击率最高的新闻

select max(click) from news

8、  多表查询

语法:select1.字段,2.字段 from 1,2 where 1.主键=2.外键

示例1:从栏目表lanmu中的栏目,和每个栏目对应的新闻

select lanmu.*,news.* from lanmu,news where lanmu.lanmuId=news.lanmuId

9、  内连接进行多表查询

语法:select1.字段,2.字段 from 1 inner join2

on1.主键=2.外键

示例1:从栏目表lanmu中的栏目,和每个栏目对应的新闻

select lanmu.*,news.* from lanmu inner join news on lanmu.lanmuId=news.lanmuId

二、增加记录

基本语法:insert into表名 (字段1,字段2,……) values (数据1,数据2,……)

示例1:在表news中,增加一条新闻,要求:

栏目:为国际新闻lanmuId2

标题:“如何生成炎症码?

作者:王五

内容:“利用Random类中的随机函数就可以.

insert into news (lanmuId,title,name,content)

values (2,'如何生成炎症码?','王五','利用Random类中的随机函数就可以.')

三、更新记录

基本语法:update表名set字段1=数据1,字段2=数据2…… where条件

示例1:在表news中,更新id等于9的一条新闻,要求:

栏目更新为:国内新闻lanmuId1

标题更新为:“如何生成验证码?

作者更新为:王老二

update news set lanmuId=1,title='如何生成验证码?',name='王老二' where id=9

四、删除记录

基本语法:delete from表名where 条件

示例1:在表news中,删除id等于9的一条新闻

delete from news where id=9

 

 

 

原创粉丝点击