![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库操作
twtiqfn
这个作者很懒,什么都没留下…
展开
-
如何用SQL语句从身份证号码号码提取信息(一)
我们要操作的数据库表为: 表结构如下:我们想在表中的身份证号码中提取出某人的出生年、年龄、出生日期,对应的字段分别为:year、age和csrq原创 2013-10-23 13:58:58 · 18375 阅读 · 0 评论 -
如何用SQL语句从身份证号码号码提取信息(二)
接上篇我们进行了year的设置,假如我们不想要了想清空这列,可以用以下命令update idset set year=null接下来我们进行age的设置原创 2013-10-23 14:31:34 · 3079 阅读 · 0 评论 -
存储过程实例002--添加一条记录
接上篇,创建存储过程:往book表里添加一条记录Create proc insert_book@param1 char(10),@param2 varchar(20),@param3 money,@param4 money outputwith encryption ---------加密asinsert book (编号,书名,价格) Values (@param1,@par原创 2013-12-17 17:09:29 · 1788 阅读 · 0 评论 -
存储过程实例001--查询表记录
在数据库中建立名称为“book”的数据表,表的字段设置如图所示:向表中添加以下两条记录内容:编号 书名 价格001 C语言入门 $30002原创 2013-12-17 13:53:36 · 738 阅读 · 0 评论 -
SQL2000数据库查询讲解001--基本表的建立
建立三个基本表,学生表:student ( sno,sname,ssex,sage,sdept) 课程表:course ( cno,cname,cpno,credit) 选课表:sc (sno,cno,grade)(一)学生表的内原创 2013-12-18 10:13:49 · 660 阅读 · 0 评论 -
存储过程解密
上篇博文,创建了加密的存储过程:insert_book,此时双击此存储过程是打不开的,提示如下:此时如果想看存储过程的代码怎么办呢,可以创建一个解密的存储过程“sp_decrypt”,运行后就可以查看“insert_book”的代码了,如下所示sp_decrypt存储过程的定义如下:create PROCEDURE sp_decrypt(@objectName varchar(原创 2013-12-18 08:05:17 · 766 阅读 · 0 评论 -
sql2000利用查询命令进行数据比对
日常工作中,我们经常把一份电子表格的内容(尤其是数据)录入到电脑系统中,但很多时候录入完成后发现录入的结果有错误,与电子表格的内容(例如:统计求和)有出入,但数据量又太大,如何快速找出哪些人员录错了呢,也就是说如何高效的进行数据比对呢。以下图中我们假设姓名(xm,xm01)字段的值是唯一的,我们要根据姓名找出金额(je,je01)不一致的记录。以上图中,如何前两列是原始的电子表格内容,后两原创 2013-12-31 10:29:54 · 1663 阅读 · 0 评论 -
sql2000连接查询001--等值连接,非等值连接,自然连接
若一个查询同时涉及两个以上的表,则称之为连接查询。它包括等值连接,非等值连接,自然连接,自身连接,外连接和复合条件连接一、等值连接,非等值连接,自然连接表名1.列名1 连接运算符 表名2.列名2当连接运算符为等号=时,称为等值连接;使用其它运算符时,称为非等值连接。例32:查询每个学生及其选修课程的情况。select student.*,sc.*from stud原创 2014-01-02 14:53:15 · 2489 阅读 · 0 评论 -
sql2000连接查询002--外连接和复合条件连接
三、外连接外连接的表示方法为,在连接谓词的某一边加符号*。外连接就好像是为符号*所在边的表(本例是SC表)增加一个“万能”的行,这个行全部又空值组成。它可以和另一边的表(本例是Student表)中所有不满足连接条件的元组进行连接。如果外连接符出现在连接条件的右边,成为右外连接,如果外连接符出现在连接条件的左边,称为左外连接。 上个例子中只显示选课学生的信息,若想显示没有选课的学原创 2014-01-02 15:11:16 · 1704 阅读 · 0 评论 -
sql2000对查询结果分组
Group By 子句将查询结果表按某一列或多列值分组,值相等的为一组。分组的目的是为了细化集函数的作用对象,分组后集函数将作用于每一个组,即每一组都有一个函数值。例30 求各个课程号及相应的选课人数select cno, count(sno) '分组人数'from scgroup by cno具有相同cno值的元组为一组,然后对每一组作用集函数count计算,以求得该组的原创 2013-12-25 11:23:10 · 1223 阅读 · 0 评论 -
SQL2000数据库查询讲解003--消除重复的行
例6 查询选修了课程的学生号select snofrom sc运行如下:该查询结果包含了许多重复的行,如果想去掉结果表中的重复行,必须指定期DISTINCT短语select distinct snofrom sc运行结果如下:原创 2013-12-20 10:47:06 · 771 阅读 · 0 评论 -
sql2000用一个表的列值对另一个表相应的记录值进行更新
sta2013数据库中有两个表cjr2013xiaotang 和cjr,两个表均以sfzhm唯一标识一条记录,都有zje(总金额)字段,对两个表的zje进行求和:cjr2013xiaotang:sum(zje):473100,正确数据cjr: sum(zje):426100,错误数据两表均有927条记录,通过excel比对,共找出cjr表原创 2014-01-03 10:01:49 · 2085 阅读 · 0 评论 -
SQL2000数据库查询讲解002--最简单的查询
说明:所做的讲解均以上篇中所提到的书《数据库系统概论》(第三版)为准 知识点一:select 子句的,不仅可以是表中的属性列,也要以是表达式例4 查询全体学生的姓名及出生年份select sname,1996-sagefrom student运行结果如下:知识点二: 不仅可以是算术表达式,还可以是字符串常量、函数等例5:查询全体学生的姓名、原创 2013-12-20 09:24:06 · 1109 阅读 · 0 评论 -
求学时代的一本数据库老书,谢谢你的陪伴!
上本科的时候,你陪我上课,我无数次上机做实险,读研的时候,用到数据库也无数次的再次翻开你,工作了,我们还是在你一起,你一直静静地躺在了我办公室的小桌子里,我们一直难舍难分,你就像是我最好的朋友,看到了你,心中那种厚实的感觉暖起心头。原创 2013-12-20 08:49:53 · 618 阅读 · 0 评论 -
SQL2000数据库查询讲解005--查询满足条件的元组02:确定集合和字符匹配
谓词IN 可以用来查找属性值属于指定集合的元组。例12:查询信息系(IS)、数学系(MA)和计算机科学系(CS)学生的姓名和性别select sname, ssexfrom studentwhere sdept in('is','ma','cs')例13:查询既不是信息系、数学系也不是计算机科学系学生的姓名和性别select sname, ssexfrom studen原创 2013-12-22 10:22:26 · 986 阅读 · 0 评论 -
SQL2000数据库查询讲解004--查询满足条件的元组01:比较大小和确定范围
查询满足条件的元组可以通过where子句实现。其常用的查询条件如下 查询条件 谓词 比较 =, >, , !>,! 确定范围 between and , not between an原创 2013-12-22 09:38:02 · 1228 阅读 · 0 评论 -
sql2000嵌套查询01--带有IN谓词的子查询
在嵌套查询中,子查询的结果往往是一个集合,所以谓词IN是嵌套查询中最经常使用的谓词。例37:查询与“刘晨”在同一个系学习的学生。(1)确定“刘晨”所在系名select sdeptfrom student where sname='刘晨'(2)查找所有在IS系学习的学生select sno,sname,sdeptfrom studentwhere sdept原创 2014-01-07 14:19:34 · 3531 阅读 · 0 评论 -
SQL2000数据库查询讲解007--查询满足条件的元组04:涉及空值的查询
例21:某些学生选修课程后没有参加考试,所以有选课记录,但没有考试成绩。查询缺少考试成绩的学生的学号和相应的课程号。select sno,cnofrom scwhere grade is null这里的“is” 不能用等号 = 来代替。例22:查询所有有成绩的学生学号和课程号select sno,cnofrom scwhere grade is not null原创 2013-12-23 15:06:11 · 649 阅读 · 0 评论 -
SQL2000数据库查询讲解006--查询满足条件的元组03:字符匹配like及通配符%_
知点(一):like的运用 如果LIKE后面的匹配串中不含通配符,则可用 = 运算符取代LIKE谓词,用!=或原创 2013-12-23 08:35:08 · 1390 阅读 · 0 评论 -
sql2000嵌套查询的含义
在SQL语言中,一个select-from-where语句称为一个查询块。将一个查询嵌套在另一个查询块中的where子句或HAVING短语的条件中的查询称为嵌套查询。例如:select snamefrom studentwhere sno in (select sno from sc whe原创 2014-01-07 13:45:56 · 781 阅读 · 0 评论 -
SQL2000数据库查询讲解008--查询满足条件的元组05:多重条件查询
逻辑运算符 and 和 or 可以用来联结多个查询条件。and 的优先级高于or ,但用户可以用括号改变优先级。例23:查询计算机系年龄在20岁以下的学生姓名select snamefrom studentwhere sdept = 'cs' and sage 在例12中的 in 谓词实际上是多个 or 运算符的缩写,因此例12中的查询也可以用or 运算符写成如下形式:原创 2013-12-23 15:13:51 · 1083 阅读 · 0 评论 -
SQL2000数据库查询讲解009--对查询结果排序
用户可以用 order by 子句对查询结果按照一个或多个属性列的升序(ASC)或降序(DESC)排列,缺省值为升序。例 24 查询选修了3号课程的学生的学号及其成绩,查询结果按分数的降序排序。select sno,gradefrom scwhere cno ='3'order by grade desc对于空值,在按升序排,含空值的元组将最后显示,若按降序排,含空值原创 2013-12-24 08:53:29 · 1037 阅读 · 0 评论 -
SQL2000数据库查询讲解010--使用集函数
为了进一步方便用户,增强检索功能,SQL提供了许多函数集,主要有:COUNT ( [ DISTINCT | ALL ] *) 统计元组个数COUNT ( [ DISTINCT | ALL ] ) 统计一列中值的个数SUM ( [ DISTINCT | ALL ] ) 计原创 2013-12-24 09:20:23 · 913 阅读 · 1 评论 -
sql2000嵌套查询02--带有比较运算符的子查询
带有比较运算符的子查询是指父查询与子查询之间用比较运算符进行连接。当用户确切知道内层查询返回的值是单值时,可以用>,=,等比较运算符。例如在例37中,由于一个学生只可能在一个系学习,也就是说内查询的结果是一个值,因此可以用 = 代替 in ,其SQL语句如下:select sno,sname,sdeptfrom studentwhere sdept = (select s原创 2014-01-12 13:46:42 · 1504 阅读 · 0 评论 -
sql2000嵌套查询03--带有ANY或ALL的子查询结果中的某个值
子查询返回单值时可以用比较运算符,而使用ANY或ALL谓词时则必须同时使用比较运算符。其语义如下:>ANY 大于子查询结果中的某个值>ALL 大于子查询结果中的所有值>=ANY 大于等于子查询结果中的某个值>=ALL原创 2014-01-12 14:09:36 · 1168 阅读 · 0 评论 -
在A列中找出与B列相同的数据记录并标记为1
A列的数据和B列的数据作比较,只要A中的数据在B列中存在,就在A列的数据对应的C列标记为1,不存的标记0 C2=IF(COUNTIF(B:B,A2),"1","0")原创 2014-01-24 09:42:57 · 20163 阅读 · 1 评论 -
sql2000嵌套查询04--带有EXISTS谓词的子查询
EXISTS代表存在是量词。带有EXISTS谓词的子查询不返回任何数据,只产生逻辑真值“true”或逻辑假值“false”。例41 查询所有选修了1号课程的学生姓名。本查询涉及Student和Sc关系。我们可以在student中依次取每个元组的sno值,用此值去检查SC关系。若SC中存在这样的元组,其Sno值等于Student.Sno值,并且其Cno='1',则取此Student.Sna原创 2014-01-16 15:38:51 · 974 阅读 · 0 评论 -
左连接,右边接,内连接查询
一、外连接外连接可分为:左连接、右连接、完全外连接。1、左连接 left join 或 left outer joinselect * from student left join sc on student.sno=sc.sno左外连接包含left join左表所有行,如果左表中某行在右表没有匹配,则结果中对应行右表的部分全部为空(NULL).2、右连接 right原创 2014-02-23 16:52:08 · 973 阅读 · 0 评论 -
msgbox用法
MsgBox是Visual Basic和VBS中的一个函数,功能是弹出一个对话框,等待用户单击按钮,并返回一个Integer值表示用户单击了哪一个按钮。“MsgBox”即为“Message Box”的缩写,在英语中意为“信箱”。原创 2014-02-25 08:09:54 · 7226 阅读 · 0 评论 -
电子建档想法
单位有个档案室,下面送上一来的材料太多,大多数材料是证明之类的,比如说,一份文件,第一面是一个表格,上面有20行记录,下面的就是每一行记录对应一张证明,业务办一完毕业后,日后再想找出这些证明就比较麻烦。所以有个想法就是把这些信息导进数据库用程序管理,当我们需要查询某人的证明时,只需要查找出此人,读出相应的证明照片即可。 设计初想如下:原创 2014-02-26 16:02:21 · 754 阅读 · 0 评论 -
MSSQLServer数据类型详解
在计算机中数据有两种特征:类型和长度。所谓数据类型就是以数据的表现方式和存储方式来划分的数据的种类。在SQL Server中每个变量、参数、表达式等都有数据类型。系统提供的数据类型分为几大类。其中,BIGINT、SQL_VARIANT和TABLE 是SQL Server 2000中新增加的3 种数据类型。下面分类讲述各种数据类型。4.3.1 整数数据类型,是最常用的数据类型之一原创 2014-02-27 10:21:38 · 5741 阅读 · 0 评论 -
SQL中CONVERT转化函数的用法
参考文章:CONVERT转化函数原创 2014-02-27 10:54:12 · 1179 阅读 · 0 评论 -
SQL Server CONVERT() 函数
原创 2014-02-27 11:01:56 · 497 阅读 · 0 评论 -
去名字前的空格
名字有空格,如下图所示怎么去掉呢运行命令update gshangju set dwmc = ltrim(rtrim(dwmc)) 前几行的空格去掉了,但从第7行开始前在的空格没有去掉,咋回事呢,其实从第7行开始前面的空格是不可见的字符,并不是真正的空格,所以是去不掉的,如果要去掉只能再想别的办法了原创 2014-03-02 11:28:59 · 891 阅读 · 0 评论 -
一个括号引起的不易发现的错误
往登记表里插入一条记录,表名:dongji,字段:姓名、日期、月份,当不写字段名的时候,能执行成功,而在表后面加入字段名时确出现语法错误:大家来看一下出错的代码: 绿色下面的这一行的是出错的语句,却怎么也发现不了错误,后来经过网友帮助,原来发现括号的输入出现了错误,问题现在右括号上面,看到面的里个小圈,明显第一个小圈里的括号的形状不对,它是在汉字输入法的状态下输原创 2014-02-28 10:53:56 · 968 阅读 · 0 评论 -
not in 和 not exits 的区别
这是我运行时的截图,结果一条记录也没有查出来 发贴到csdn求助,网友给出了以下意见 运行网友给出的代码: 把所有的剩余记录都查了出来原创 2014-03-03 17:18:44 · 2342 阅读 · 0 评论 -
NULL空记录引起的查询错误
sql数据库里有两个表:sbqiye和gsju 想进行两个表中数据的不对,想查出两表的共有数据,和gsju里面不在sbqiye里的数据,结果有了问题,共有数据查了出来,而gsju独有的数据查询却出现了错误,以下我在百度求助: 结果百度不是很给力,只好又求助于CSDN,一位网友给出了答案:select * from gsjuwhere dwmc not in原创 2014-03-05 16:07:46 · 809 阅读 · 0 评论 -
按两个字段进行的分组统计
表fend有lb(类别),grade(档次)两个字段,如下图所:按lb进行统计:统计出a的num为3,b的num为4,而我们还想统计出lb分别为a和b 的记录的grade情况,比如,类别为a 的3条记录grade为10的有2条,为30的有1条,类似于Excel的按多个字段筛选,如何写命令呢select lb,grade,COUNT(1)按lb和grade统计,(SELECT C原创 2014-03-08 10:19:53 · 15630 阅读 · 0 评论 -
exists和not exists
原创 2014-03-14 14:29:21 · 606 阅读 · 0 评论 -
SQL中IN,NOT IN,EXISTS,NOT EXISTS的用法和差别
IN:确定给定的值是否与子查询或列表中的值相匹配。IN 关键字使您得以选择与列表中的任意一个值匹配的行。当要获得居住在 California、Indiana 或 Maryland 州的所有作者的姓名和州的列表时,就需要下列查询:SELECT ProductID, ProductName FROM Northwind.dbo.Products WHERE CategoryID原创 2014-03-14 15:25:43 · 590 阅读 · 0 评论