- ?
分享带游标的T-Sql批量修改数据库记录
爱与诚
展开
首先我们创建一个数据库为article,里面存储文章的标题,作者,内容等信息,主键为articleid。创建完成后我们通过use article来对这个数据库进行操作。
USE article
GO
声明变量和游标
declare @aa int,@ff int
declare @@rr int
declare CURSORNAME cursor for select articleid from article ORDER BY articleid
open CURSORNAME
fetch next from CURSORNAME into @ff
通过游标随机增加一定期限的时间,然后更新整个表。
set @aa=1
while @@fetch_status=0
begin
set @@rr=rand()*59
update article set articleAddtime=DATEADD(day,@@rr, '2010-1-1') WHERE articleid=@ff
set @aa=@aa+1
fetch next from CURSORNAME into @ff
end
close CURSORNAME
deallocate CURSORNAME
GO
好了,到这里就结束了。如果你是初学者,希望这段代码能够帮助到你。如果喜欢请点赞转发给有需要的朋友。
- ?
SQL2000数据库置疑的修复
走过
展开
一、SQL2000体积小、安装速度快,成熟稳定,至今仍有不小的用途;但是相比较于2005和2008,有时突然断电或磁盘问题可能导致出现“置疑”的情况机率要大一些,此时我们无法读取数据;如果有备份,直接还原即可;如果没有备份,那就只能修复了;置疑修复后不能完全保证数据的准确性,有可能部分数据会丢失。
二、注意事项
1、千万不要对数据库进行分离操作;
2、建议停掉SQL服务,把置疑的数据库备份一份。
三、置疑修复步骤
1、假设原库名为DB,新建一个库名为DB1(不要和DB在一个目录下);
2、停止SQL服务;
3、将置疑库DB重命名为DB1,覆盖DB1;
4、启动SQL服务,此时在企业管理器中DB1仍为置疑,先不用管;
5、执行下面的语句,注意修改数据库名称:
USE MASTER
GO
SP_CONFIGURE 'ALLOW UPDATES',1 RECONFIGURE WITH OVERRIDE
GO
UPDATE SYSDATABASES SET STATUS =32768 WHERE NAME='DB1'
Go
sp_dboption 'DB1', 'single user', 'true'
Go
DBCC CHECKDB('DB1')
Go
update sysdatabases set status =28 where name='DB1'
Go
sp_configure 'allow updates', 0 reconfigure with override
Go
sp_dboption 'DB1', 'single user', 'false'
Go
6、此时DB1库恢复正常,但如若重启电脑,库仍为“置疑”;彻底解决的方法是再新建一个库,如DB11,将DB1库中的数据通过“导入导出工具”导到新库中。
四、SQL2000数据库设置自动备份请参考我之前的文章,为了最大限度的确保数据不被损坏,建议设置自动备份功能。
- ?
同和君带你玩转数据库!详解SQL Server基础操作……(附个人黑历史+大数据分析)
Edward
展开
前几天同和君被某粉丝吐槽不务正业,那今天咱们就来务一下正业,来简单讲讲有关SQL Server的基础操作(其实是为了交差)。
有关SQL(结构化查询语言)与其对应的各类数据库管理系统(SQL Server、Access等)的功能与运用范围,在这里就不做赘述了,有兴趣的可以去搜一下,然后你就会发现一个新的世界了~
首先下载安装SQL Server并配置其实例,这方面也不详细说明了,有点电脑基础的都会~然后就是正式的实操环节,首先连接到服务器:
进入后第一件事当然是创建属于自己的数据库啦~
右键「数据库」,选择新建,然后跳出右边的对话框,根据实际需求来设置「文件初始大小」、「文件增长量」、「日志初始大小」、「日志增长量」。
增长方式和文件大小上线可以自定义。
确定后就能看的建立好的数据库了。
试着生成一个有关数据库信息的脚本~
详细sql文件信息如下:
当然你也可以选择使用Transact-SQL语言直接来创建数据库:
先点「新建查询」调出查询分析编译器:
然后输入以下语句:
createdatabase HKSDBonprimary(name=HKSDB_data,filename='d:\File\TEMP\HKSDB_data.mdf',size=20MB,maxsize=500MB,filegrowth=5MB)log on(name=HKSDB_log,filename='d:\File\TEMP\HKSDB_log.mdf',size=20MB,maxsize=100MB,filegrowth=1MB)
右键相应的数据库属性会跳出很多选项:
如果你把数据库的初始值设高了,可以通过收缩来减小:
接着是通过代码来查看&修改数据库属性:
--查看数据库属性sp_dboption HKSDB--查看数据库信息sp_helpdb HKSDB--修改日志文件的最大值和初始值use HKSDBgoalterdatabase HKSDB modifyfile(name=HKSDB_log,maxsize=200MB)alterdatabase HKSDB modifyfile(name=HKSDB_log,size=40MB)--更改数据库use HKSDBalterdatabase HKSDBaddfile(name=HKSDBFZ,filename='D:\File\TEMP\HKSDBFZ.ndf',size=2mb,maxsize=10mb,filegrowth=1mb)alterdatabase HKSDBadd log file(name=HKSDBLOG1,filename='D:\File\TEMP\HKSDBLOG1.ldf',size=2mb,maxsize=10mb,filegrowth=1mb)use HKSDBalterdatabase HKSDBremove file SYDBFZalterdatabase HKSDBremove file HKSDBLOG1如果你对某个数据库不爽,想把它打入冷宫,可以直接右键数据库删除,也可以手动输入代码:
use HKSDBdropdatabase HKSDB似乎碰上了钉子户:
试试大神的代码:
USE MASTER GO DECLARE@dbname SYSNAME SET@dbname='同和君的的数据库'--这个是要删除的数据库库名 DECLARE@s NVARCHAR(1000)DECLARE tb CURSORLOCALFORSELECT s ='kill '+ CAST(spid ASVARCHAR)FROM MASTER..sysprocesses WHERE dbid = DB_ID(@dbname)OPEN tb FETCHNEXTFROM tb INTO@sWHILE @@fetch_status=0BEGINEXEC(@s)FETCHNEXTFROM tb INTO@sENDCLOSE tb DEALLOCATE tb EXEC('drop database ['+@dbname+']')
完美~
好的,那么到这里大家已经大致了解了数据库的定义与管理,接下来带大家起飞了~
手动一个个创建数据表是一件很苦逼的事情,再加上我们还没学到JAVA和SQL Server链接的JDBC技术,所以同和君选择一种取巧的方式:从Excel表格直接导入数据~
选好数据源类型:
选好目标文件后下一步:
然后对目标表的各项数据分别选好类型(其中大多都系统默认好了,局部地区稍微修改下就好,比如学号之类的):
我们来预览一下~
成功~
然后我们可以开始骚操作了~
不过在此之前,还是先教大家如何备份&还原吧~
接下来是还原,这回我们导入一个不同的~
这个是我用来做多表连接的~详细的后边会讲到~
首先我们来查一下同和君初恋女孩高一的成绩:
然后保存该sql文件:
然后再查一下初中好基友的总分区排名:
再保存下:
然后查一下b站up主@SmartMogician 的黑历史
哟,竟然出现同校同学同名同姓的情况了!
这样的话就能成功筛选了:
没想到当年的语文竟然这么难!
当年的学霸……
这样看可能更直观:
(emmmm……这真的不是招生办的阴谋……)
这样看上去就舒心多了~
很多朋友应该都存在偏科的现象,但在我们的深入研究下,发现事情并不简单:
语文不好的同学不一定数学好,
但数学不好的同学就有可能语文好了……
三倍的人数差还是能说明问题的……
那么以上呢,就给大家详细展示了大多常用查询指令的用法~接下来给大家介绍的是「连接查询」,通过这个就能实现多表之间的查询了。
成绩与排名两个表连接,分析理科总成绩与数学成绩之间的关系:
看样子综合能力好的同学,真的是每一门都不偏科呢!
最后同和君要做一件集大成的骚操作~
首先合并一下数据:
嘿嘿嘿~
我们来看看初中的那些朋友们到了高中后学习状态如何~
唯一能对应上的只有姓名了,结果如下:
换个表试试:
大数据显示,初中成绩好的高中成绩不一定好,但高中成绩好的初中成绩一定不差!
什么?有人想看我的成绩?
抱歉,这两个表里都没有我的名字hhh,成绩好就是可以为所欲srgsrgz
[数据删除]
大家也看到了,现在在某二本混日子的我……(;д;)
所以学习这玩意嘛……哎,不谈了不谈了……
接下来介绍一些增删查改的相关操作:
--增加一条记录insert N校联考 (考号,姓名,班级,学校)values('10001','同和君','一班','社会大学')--求表中各校总分的平均分,并存入一个新的数据库createtable AvgMarks(学校 nvarchar(255),平均分 real)insertinto AvgMarks(学校,平均分)select 学校,AVG([9科总分分数])from N校联考groupby 学校--将「N校联考」中所有「广州市第五中学」的信息更新为「广州五中」update N校联考set 学校='广州五中'where 学校='广州市第五中学'执行结果:
ok,那么就暂且先告一段落吧,基本操作讲完了,下回咱们就讲讲高级操作吧~
鸣谢以上十七所高校提供的成绩信息~
- ?
sql替换数据库字段中的字符
邢乐松
展开
某些时候我们要修改数据库字段中的部分字符串,如果内容少时一个一个替换,内容多时,就不能一个一个的替换了,因为这样不仅耗时还容易出错。下面就用sql批量进行替换。
替换shopping_hw表中字段hw_pic,内容“*common”替换为“+play”.
替换sql:UPDATE shopping_hw SET hw_pic= replace (hw_pic, '*common', '+play' ) ;
运行sql,替换成功,查看结果。
UPDATE `table_name` SET `field_name` = replace (`field_name`,'from_str','to_str') WHERE ……说明:table_name —— 表的名字 field_name —— 字段名 from_str —— 需要替换的字符串 to_str —— 替换成的字符串
- ?
前端妹子被后端程序员气哭,因不帮修改数据库,让自己去修改!
小鱼
展开
在互联网公司,技术这块一般有前端开发工程师,后端开发工程师,测试工程师,产品经理等,当然架构师,运维也要算上,作为产品开发的主力人员一般上就是前后端开发工程师了,在做一个项目的过程中,前后端的程序员肯定是有好多地方需要配合的,比如前端要调用后端的接口,有好多需要沟通与协调的地方,近期,有一个妹子就吐糟在与后端程序员合作时遭到刁难。
据这名前端小姐姐说,她不会使用sql,为了测试页面效果,她需要修改数据库的数据,来看看效果如何,他就让后端的程序员小哥哥帮忙修改一下数据,可是这个后端的程序员不论怎么求都不肯帮忙,非让这个前端小姐姐自己改,把小姐姐都给气哭了,针对这种现象,让我们来看看网友的评论吧,看看有没有给小姐姐抱不平的!
网友一:发现现在前端到处都是水货遍地,天天就是这个框架那个框架,对界面以外的东西根本就不想了解,甚至包括项目的业务都觉得不用懂,抱着我就是写界面的心态。而且比较奇怪的是,前端出去面试,面试官稍微问一点综合性的偏后端的就炸毛了,反而现在后端有几个 不会js 语言?还有诸如ng react框架基本也都熟悉。后端面试经常会问到前端知识。 这也难怪现在项目leader , cto都是后端出身,前端局限在自己一亩三分地,最多是个高级页面仔。 我是看不起大多数前端,要不是现在团队非得招聘前端,我前后端一起撸
作者点评:看来这位网友对前端的怨言还是比较多的,不过说的的确是实话,前端有相当一部分不会后端的东西,而后端基本上都可以写js,甚至还会写一些html与css,不过话又说话来,后端虽然会的广了一点,但是有些还是需要专业的前端,比较难的页面效果只有前端来做,人家还是比较专业的。
网友二:学呀,这种事没必要求人。
作者点评:sql其实是挺简单的,不过会者不难,难者不会嘛,这位前端小姐姐可能是一时着急用!
网友三:评论怎么回事儿?sql本来就不是前端的事情 我就算会也是我的兴趣或者我自己愿意学的。 "我会"和"我去加"本就是两码事儿 工作性质决定了肯定要让后端加啊
作者点评:这位网友就帮这位前端小姐姐抱不平了,这名网友认为修改数据就是后端的事情!
网友四:连产品经理和运营都会sql了,程序猿竟然不会写?
作者点评:没错,这是实话,在好多公司都能看到产品经理,测试人员都会写sql,不过都是简单的那种,论写sql能力,产品测试比不过后端程序员,后端程序员可能比不过运维或者持平,而运维肯定是比不过DBA了,一般是这种情况,不同公司也略有不同!
网友五:我作为一个前端,真替你感到悲哀……网上随便搜一下两分钟搞定的事!
作者点评:这名前端的网友可能说的有点简单了,可能你说的两分钟是有一定的sql基础了,什么事还是多理解一下他人吧!
网友六:让前端自己加字段的后端是有多low b。 可以看出数据模型搞得是有多随意
作者点评:有的公司在这方面没有管理的那么的规范,责任不明确,谁加都可以,这也存在一定的弊端!
网友七:那是没遇到我,遇到我别说加数据啦,帮你删库都可以
作者点评:哥,就不要这么虎了!做名程序员要谨慎做事,不要这么鲁莽!
网友八:我是后端 这尼玛就是应该后端做的 楼上都是小公司吗
作者点评:这名网友也替前端小姐姐抱不平,他认为就是后端应该做的!
网友九:区分清楚责任,我认为这应该就是后端做的,楼主哪里做错了?
作者点评:这名网友与楼上观点一致!
从这个情况来看,觉得这应该是一个小公司,关于改数据比较随意,没有明显的责任人来做这事,谁做都可以的状态,在有一些大一点的公司,修改一个字段,调整一条数据都会专门有人负责,不过话又说回来了,既然公司没有这方面的规范,我个人倒是觉得,这位后端程序员应该帮助一下前端的小姐姐,工作中应该互帮互助呀,不能太斤斤计较了,有些事情就是举手之劳,何必为难前端小姐姐呢,再说了,今天你帮助了她,以后说不定有需要她帮你调页面呢,只有乐于奉献,才能建立更好的工作氛围,以后的工作才能进行的更顺利,大家说是么?
以上所有图片均来之互联网大家好,我是“上世是朵花”。如果你有什么好的看法或者观点可以在评论区展现你的才华,互动交流,如果想进一步了解我,那就关注我吧!
- ?
数据库操作中你必须要会的SQL语句 增删改查一样都不能少
糜媚
展开
CREATE TABLE
CREATE TABLE用来创建一个表
//创建一个表,表的名称为table_name,该表有三列,列名分别为column_1,column_2,column_3.列中的数据类型分别为整形,文本,整形
创建表语法举例如下:
举例INSERT INTO
INSERT INTO用于向列中插入值
//分别向列id, name, age中插入 1, 'Justin Bieber', 21 insert into table_test (id,name,age) values(1,"Justin Bieber",21);
//插入多条数据
1、MySQL数据库:
mysql插入2、oracle数据库:
oracle插入方式UPDATE
用于修改表中的数据
语法 UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值
举例:修改id=1这一行的age列的数据为22 SQL如下:
UPDATE table_test SET age = 22 WHERE id = 1;
ALTER TABLE
修改表,用于增加,修改,删除列
例如:ADD COLUMN添加一个列 ALTER TABLE table_test ADD COLUMN address TEXT;
例如:DROP COLUMN删除一个列 ALTER TABLE table_test DROP COLUMN address ;
DELETE
删除表中的行
例如:IS NULL表示值是NULL或者不存在,删除age列中值不存在的行 DELETE FROM table_test WHERE age IS NULL;
SQL查询 DISTINCT 过滤重复的数据 语法如下:
WHERE
通过各种条件定位到具体的数据
where语法操作符例如:统计age大于24的数据 SELECT * FROM table_test WHERE age >24;
LIKE
模糊匹配
举例:_通配一个字符 SELECT * FROM table_test WHERE name LIKE 'Mar_y';
举例:%通配任意多个字符 SELECT * FROM table_test WHERE name LIKE '%Bieber%';
BETWEEN 匹配一个范围
例如:查到age范围在23到30之间的数据 SELECT * FROM table_test WHERE age BETWEEN 23 and 30;
AND 逻辑与
例如:查到age范围在23到30之间的数据 SELECT * FROM table_test WHERE age >= 23 and age <= 30;
OR逻辑或
例如:查到age范围不在在23到30之间的数据 SELECT * FROM table_test WHERE age <= 23 or age >= 30;
等同于 SELECT * FROM table_test WHERE age not BETWEEN 23 and 30;
ORDER BY
例如:依据某一列进行排序,ASC是顺序排序,DESC是逆序排序。 SELECT * FROM table_test ORDER BY age ASC;
COUNT()
COUNT()是最快的方式,统计一张表总共的行数。COUNT()函数的参数是一个列的名称,统计整个表所有的行数时,采用通配符*;
例如:统计整个表的行数 SELECT COUNT(*) FROM table_test ;
例如:统计age为25的行数 SELECT COUNT(*) FROM table_test WHERE age= 25;
GROUP BY
GROUP BY <列名>将一列中相同值的列分成一组
例如:按照age进行分组,并统计每组元素的个数 SELECT age, COUNT(*) FROM table_test GROUP BY age;
SUM()
SQL通过SUM()可以很容易统计一列的和
例如:计算age一列的和 SELECT SUM(age) FROM table_test ;
MAX()
例如:MAX()函数可以找到一列中的最大值 SELECT MAX(age) FROM table_test ;
MIN()
MIN()函数可以找到一列中最小的值,用法与MAX()相同
AVG()
AVG()函数计算一列的平均值,用法与MAX()相同
ROUND() 设定数值到指定的精度
举例:设定计算的平均值精度精确到小数点后两位 SELECT ROUND(AVG(age), 2) FROM table_test;
PRIMARY KEY
在使用CREATE TABLE时为id添加PRIMARY KEY,PRIMARY KEY是一张表中每一行独一无二的标识,该表将id作为主键。通过主键将多个表联系起来。
CREATE TABLE table_test (id INTEGER PRIMARY KEY, name TEXT);
- ?
SQL语句之数据更新删除数据
Hunter
展开
1、不在需要的数据,就要执行删除操作,删除语法如下:
DELETE FROM 表名称 [ WHERE 删除条件(s) ] ;
其中,WHERE子句里面,依然可以使用子查询进行操作。
范例:删除雇员编号是7566的雇员信息
DELETE FROM myemp WHERE empno=7566 ;
范例:删除雇员编号是7788、7902的雇员信息
DELETE FROM myemp WHERE empno=7788 OR empno=7902 ;
DELETE FROM myemp WHERE empno IN(7788, 7902) ;
注意:用了rollback回退操作!所以7566的数据还存在
范例:删除高于公司平均工资的雇员信息
DELETE FROM myemp WHERE sal>(SELECT AVG(sal) FROM myemp)
范例:删除全部记录
DELETE FROM myemp ;
一定要记住,在任何的系统之中,删除操作都属于极其危险的操作。实际上,一个稳定的系统,对于删除操作,都是具备一个逻辑删除和物理删除的两种方式:
◆ 物理删除:直接执行DELETE FROM,彻底从表中删除记录。
◆ 逻辑删除:增加一个逻辑的字段,例如:有一个flag字段,如果flag=1表示已经被删除,如果flag=0表示没有被删除。
如果真执行的是删除操作,那么,就相当于修改了flag字段的内容,同时在每次查询的时候,只需要增加一个WHERE限定条件(SELECT * FROM ... WHERE flag=1)。
【总结】
1、 更新操作,要比查询操作,更加的简单(语法都固定)。
2、 所有的更新操作,每次更新完成之后,都一定会返回更新的数据行数,如果没有更新,则返回0。
- ?
如何修复SQL Server数据库中的MDF文件
夏雪
展开
数据库文件对所有用户都很重要, 并存储大量重要信息。了解有关修复损坏的 SQL 数据库文件的手动和专业解决方案。 今天的MS SQL Server是最常用的关系数据库之一。 它具有先进的内部结构并提供很高的可靠性。 这就是大多数组织使用SQL Server数据库来保存所有关键业务数据的原因。 但是也有一些情况,如病毒感染,操作系统故障,文件系统损坏等等,因为SQL数据库变得损坏,并且存储在其中的所有数据都不可访问。 从SQL Server中的损坏状态修复.mdf文件不是一件容易的事。 用户可以使用手动技术来修复SQL数据库中损坏的MDF文件,但这不是一种可靠的方法,因为不能保证使用手动方法进行数据恢复。 但是,也有第三方工具,如SysTools SQL Recovery,声称以完美的方式修复.mdf文件。 因此,在这篇文章中,我们将讨论修复损坏的SQL数据库的最佳解决方案。 但在此之前,了解SQL数据库中损坏的原因很重要。 损坏的SQL数据库背后的原因 在SQL Server数据库中出现腐败背后可能有各种可能的原因。 众所周知,SQL数据库的MDF文件是主数据库文件。 它们存储所有用户数据,因此MDF文件中的损坏可能会损坏整个数据库。 因此,首先,我们将讨论MDF文件损坏背后的所有可能的原因: 存储介质中存储所有MDF文件的损坏。 如果用户将SQL数据库存储在压缩文件夹中,则MDF文件可能会损坏。 任何修改或更改都是在SQL Server帐户中完成的。 用户可能意外删除了一些数据。 如果文件头损坏,则会导致MDF文件损坏。 损坏的磁盘驱动程序。 如果SQL数据库正在使用,并且在两者之间存在网络故障,则会导致MDF文件损坏。 导致MDF文件损坏的其他可能原因包括病毒攻击,硬盘故障,系统异常关机和突然断电。 因此,如果MDF文件损坏,那么SQL数据库变得不可访问。 而且,如果用户试图访问损坏的数据库,则可能会遇到一些错误消息。 下面列出了最常遇到的错误消息: 存储所有MDF文件的存储介质中损坏。 如果用户将SQL数据库存储在压缩文件夹中,则MDF文件可能会损坏。 元数据损坏错误。 用户可能意外删除了一些数据。 SQL Server/Msg 825 (读取重试) 中 SQL Server/Msg 824 中的 Msg 823 错误。 除此之外,用户在访问损坏的SQL数据库时可能会遇到其他一些错误消息。 因此,数据库管理员有责任立即采取措施并防止任何类型的数据丢失。 如何通过手动修复MDF文件 有几种手动方法可用于修复损坏的SQL数据库,但手动解决方案不能保证数据库恢复。 为了恢复损坏的数据库,用户可以使用SQL Server的NDF文件(日志文件)。但是, 只有日志文件不足以在大多数损坏情况下还原数据库, 因为有时, 由于严重损坏, 备份文件也会损坏。 修复和恢复损坏的SQL数据库的另一种可能方法是在数据库控制台命令(即DBCC CHECKDB)的帮助下进行的。这对于在 SQL server 数据库中修复小的损坏问题非常有用。 使用DBCC CHECKDB修复损坏的MDF文件的步骤 首先,您需要通过执行以下查询在损坏的SQL数据库上运行DBCC CHECKDB:
注意:您还可以使用DBCC CHECKDB定义一些选项,如no_infomsgs和infomsgs。 之后,您需要检查索引ID。 情况1:如果索引ID> 1,则将其放下并重新创建。 情况2:如果索引ID为0或1,则再次运行DBCC CHECKDB并使用适当的修复选项,如repair_rebuild,repair_fast或repair_allow_data_loss。
现在,为了确保零损坏,执行DBCC CHECKDB并显示一条消息,即DBCC CHECKDB在name_of_your_corrupt_database中显示0个分配错误和0个一致性错误。 如果手动方法失败怎么办? 手动解决方案并不总是一个万无一失的解决方案。 他们可能有一些限制。 例如,在严重损坏的MDF文件的情况下,手动失败很容易。 而且,手动解决方案要求用户在技术上强大。 因此,建议使用一些可靠的第三方软件来修复损坏的SQL数据库。 SQL数据库恢复程序是修复MDF文件中任何类型的损坏问题的最佳实用程序之一。 SQL恢复工具能够修复损坏的SQL数据库文件 - MDF和NDF。 它是一款无风险软件,可恢复存储在其中的所有数据项,如表格,规则,触发器,函数等。除此之外,软件只需几次点击即可修复数据库,而不会浪费任何时间。 从MDF文件修复损坏的SQL数据库的步骤 在本地机器上下载并运行SQL Recovery Program。
之后,打开您选择的损坏的SQL数据库文件(.mdf文件)。
选择扫描模式,然后单击确定。
该工具将提供存储在损坏的MDF文件中的数据项的预览。
点击导出保存恢复的数据库。
结论 数据库文件对于任何用户都非常重要,因为它们存储大量重要信息。 SQL数据库中的任何类型的损坏问题都可能给用户造成麻烦。 因此,为了克服所有这些问题,我们讨论了手动和专业解决方案来修复损坏的SQL数据库文件。
更多阅读
12种最受欢迎的编程语言
软考网络工程师准备篇(二):上午答题技巧
软考网络工程师备考篇(一):考前准备
- ?
MY SQL数据库密码如何修改
甘蓝子
展开
最简单的方法就是借助第三方工具Navicat for MySQL来修改,方法如下:
1、登录mysql到指定库,如:登录到test库。
2、然后点击上方“用户”按钮。
3、选择要更改的用户名,然后点击上方的“编辑用户”按钮。
4、出现如图界面,输入新密码,并确认新密码,点击“保存”按钮即可。
(本文内容由百度知道网友badkano贡献)
- ?
SQL数据库用存储过程批量更改某一个字段的值(单表也可以)
水卉
展开
USE [aa] --其中aa是数据库库名
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
--批量替换数据库所有相同字段的值,
--如果@Table值不为空,则只更新传入表该字段的值
--用法1:在查询分析器写入如示语句执行批量更改:BatchModify '字段名', '旧值', '新值', ''
--用法2:在查询分析器写入如示语句执行批量单表更改:BatchModify '字段名', '旧值', '新值', '表名'
Create Procedure [dbo].[BatchModify](
@Field nvarchar(40),--要替换值的字段
@OldValue nvarchar(50),--旧值
@NewValue nvarchar(50),--新值
@Table nvarchar(40)--待替换的表名
) as
begin
--字段、旧值、新值不能为空
if (@Field <> '') and (@OldValue <> '') and (@NewValue <>'')
begin
--传入表名不为空,则更新该表的该字段值
if @Table <>''
begin
Exec('Update ' + @Table + ' Set ' + @Field + ' = ''' + @NewValue +
''' Where ' + @Field + ' = ''' + @OldValue + '''')
Print '更改单个表的字段值成功!'
end
else
begin
--使用游标进行批量更新
Declare @TableTemp nvarchar(40)
--Declare @ID Int
Declare BatchMod Cursor For
--找出字段所在表的ID
Select T.[Name] From SysColumns C Inner Join SysObjects T
On C.ID = T.ID Where (C.[Name] = @Field) and (T.XType = 'U')
Open BatchMod
Fetch Next From BatchMod Into @TableTemp
While @@FETCH_STATUS = 0
begin
--根据表ID找出表名
--Select @TableTemp = [Name] From SysObjects Where (ID = @ID)
--执行批量修改
Exec('Update ' + @TableTemp + ' Set ' + @Field + ' = ''' + @NewValue +
''' Where ' + @Field + ' = ''' + @OldValue + '''')
--循环,抓出下一条
Fetch Next From BatchMod Into @TableTemp
end
--关闭、释放游标
Close BatchMod
Deallocate BatchMod
Print '批量更改数据库中所有表的字段值成功!'
end
end
else
begin
Print '字段、旧值或者新值没有输入!请检查!'
end
end
sql数据库修改
-
1、只需3秒快速实现求和
-
2、如何快速填充序号
-
3、如何自动填充序号(公式法)
-
4、数据条的神奇应用
-
5、多文本快速合并
-
6、查找与替换的不同玩法
-
7、快速定位到指定区域
-
8、数据排序、工资条制作
-
9、快速筛选(模糊、精确筛选)
-
10、快速插入空行
-
11、快速删除空行
-
12.快速跳转到天涯海角
-
13、.同时查看两个Excel文件
-
14、用条件格式扮靓报表
-
15、一键插入Excel图表
-
16、批量处理行高、列宽
-
17、利用拆分功能查看数据
-
18、批量录入相同内容
-
19、工作表快速跳转
-
20、批量录入表格模板(精品课程)
-
21、Excel函数与公式的应用、公式循环引用的查找
-
22、IF函数单条件判断同比增长
-
23、用sum函数 格式相同,连续多表数据汇总
-
24、excel快捷键
-
25、VLOOKUP函数——根据销售员匹配销售额
-
26、统计各部门销售总额
-
27、统计指定条件个数
-
28、怎样输入当前日期和时间、星期数
-
29、销售业绩排名
-
30、Sumproduct函数-万能函数(销售额汇总求和)
-
31、根据销售员,地区,商品名称汇总
-
32、批量替换PPT字体
-
33、给销售额数据批量添加万元单位
-
34、一秒快速核对两列数据
-
35、快速定位到指定单元格或区域
-
36、快速制作双行标题工资条
-
37、给你的表格做个瘦身
-
38、快速打开常用的Excel文件
-
39、快速打开多个Excel文件
-
40、利用创建组—快速隐藏/展开多列数据
-
41、快速制作下拉菜单
-
42、复制粘贴表格,如何保留数据源列宽格式一致?
-
43、两列数据位置互换
-
44、1秒钟扮靓报表——如何实现表格隔行换色
-
45、快速删除重复记录——保留唯一值
-
46、快速向下填充、向右填充,文本或公式
-
47、给Excel文件添加密码
-
48、插入带图片的批注
-
49、输入公式后不计算?
-
50、如何设置单元格缩进
-
51、快速解决Excel表格总显示货币格式
-
52、批量添加万元单位
-
53、你会四舍五入么?
-
54、用RAND函数机选彩票
-
55、冻结首行你会么?
-
56、超链接的高级应用
-
57、IFERROR函数-屏蔽错误值
-
58、批量填充颜色
-
59、录入数据
-
60、快速输入工号
-
61、快速行列转置
-
62、自定义缩放界面
-
63、多个单元格同时输入
-
64、如何计算立方米?
-
65、快速制作双行标题工资条
-
66、输入带方框的√和×
-
67、快速将姓名对齐
-
68、快速输入性别
-
69、按单位职务排序
-
70、自动计算合同到期日期
-
71、计算时间间隔
-
72、日期和时间的拆分
-
73、快速处理不规范的日期格式
-
74、快速填充合并单元格
-
75、效率加倍的快捷键
-
76、快速复制表格和对象
-
77、快速创建工作表副本
-
78、快速复制序列号
-
79、快速显示公式
-
80、多个单元格同时输入
-
81、快速调整显示比例
-
82、快速自动填充
-
83、快速填充(Ctrl+E)
-
84、Ctrl与数字键结合
-
85、快速将多列数据整理为1列
-
86、快速将1列数据拆分为多列
-
87、快速定位公式
-
88、快速录入数据
-
89、快速累计求和
-
90、身份证号码显示为0怎么办?
-
91、快速制作斜线表头
-
92、文本竖向显示
-
93、神奇的监视窗口
-
94、不一样的格式刷
-
95、快速美化图表
-
96、快速生成当前日期
-
97、快速找出循环引用
-
98、快速提取信息
-
99、二维表快速转换为一维表
-
100、快速多表合并