SQL数据库之QQ农场版
人物:菜鸟, 收垃圾的, 数据机器
菜鸟: 吃菜的鸟,简称菜鸟
数据机器: 指的SQL Server 2008(微软件最新推出的数据库,数据大小支持100TB(我的家庭住址:http://www.microsoft.com/china/sql/2008/)
计算机基础单位换算:
一道“月亮之上”mp3文件大小为5MB左右
1GB=1024MB 1TB=1024G
数据库 Database,简称DB,是一种总称,有几种数据库产品:
大型:Oracle(甲骨文),DB2(IBM) 这种软件用于电信,工业。
中型:SQL Server 2000, SQL Server2005, SQL Server 2008(都是微软)
小型:ACCESS, foxpro, vf
这样的,你电脑上的文件也比较多吧,你要什么资料的时候,想一下,如何做的!!!!!!!!!!!!!
是不是一个文件夹包一个文件夹的,我们要一个一个的解开,,特是烦,时间浪费了,而且我要说的,很多人,放文件是东一个西一个,不好找,文件不能充分利用。
用过系统里的搜索没有,你只要说文件名或文件内容,他会乖乖从硬盘里给找出来,这就是数据库的原形,但找到这个文件可能要1分,或者更长时间。
我们能不能把搜索的时间从5分钟变为100ms(毫秒)了。
提示: 1000ms = 1s秒)
一个大街走过来的人: 可以,现在的百毒不是这样吗,输一个词 “艳照门”飕的一个就出来了。
菜鸟: 对,这就是数据库的应用,速度快,想一下你是怎么存文件的吧,每次关程序的时候,要你这里选那里选存放地方,烦,用了这么久,还不知道要存什么地方。
收垃圾的:数据库有什么秘密了。
菜鸟:说你菜,你还不相信,是这样的,好比一个100米的菜地,今天你要吃面,为了味道好吃一点,需要菜叶做为调料,好,这个菜地里这样的,每过十米一种菜:
1. 靓菜 2. 白菜 3.油菜 4.太空大白菜 5.茄子白菜
6. 白火食菜 7.紫菜 8.花菜 9.卷心菜 10.不鸟不菜
你这个人对生活要求不高,但求生活多资多彩的,下个面,要10种菜都来一点,走来走去,总算花了5分钟才摘完菜。
而我们如果把每十米都种十种菜,每块区域都一样,就算这种多资多彩的人可能20秒也完成了。
收垃圾的:OH,YES(人跳了大约0.00123毫米),是这样的,把东西集中一齐,速度自然提高了,同时也可以一下知道我种那些菜。
菜鸟:对,这就是数据库的好处,速度快,不关心文件具体存放地,(OH,YEAR)我不要保存对话框了。给它一个数据,它就会返回相应的结果,再想一想我们windows里面的搜索
观众:老大“windows搜索”老头已是春天的故事了
数据机器: It's my world(歌词),妈呀,终于我可以演讲演讲了,你们说的也很不错,真正操作起来还有很多工作要作,如何放,如何取。你们懂啥哦!
我们的Excel其实就是一个简单的数据库,它纵横交错的在一个表格里存放着数据,不可乱存,这是保证我们快速存储与搜索的基石。
收垃圾的:不听你们说了,菜鸟的说的100米的菜园,我看我没有这么多时间去种,还是去QQ农场种些,我感觉,那速度,更快,更直观(观众已扔鞋,apple,banana,orange),,DIDI(声音),不好,我的BP机通知我的QQ农场1号靓菜被隔壁大妈偷了一个,不对呀!我养了狗的了,(观众:这叫临死也要偷,谁叫你种名字多要吸引的靓菜了,而且还挂了一个标签:太空一号靓菜).哎(声音)昨天拣垃圾,忘了给狗一份,这狗狗,这里长时间,一次不给吃,我就下了菜,不说了,,我要火箭速度去抓住偷,这是历史第一次。
原创自:http://hi..com/ohxs
作者:小鱼
结语: 数据库是种把数据按一定格式有序存储,能快速,准确返回数据
建议: 初学者学习先学习 Access,office系列的,比较快的就可以上手,界面和word,excel一样,之后学习sql server,和mysql(免费),论坛用的比较多(PHPWind论坛,乔客)
⑵ 数据库SQL语言
1)select sno, snmae, sex, age,addr from s
(2)select sname,sex,age from s where sex = '男' and age between 19 and 21
(3)insert into s (sno, snmae, sex, age,addr) values ('N10','姓名','男',21,'籍贯')
(4)delete from s where age >= 30
(5)delete from s where sname like '王%'
'
(6)update s set sname = '李铁' where sname = '李四'
(7)update s set age = age + 1 where sex = '男'
(8)select sno, snmae, sex, age,addr from s order by age Desc
(9)select avg(age) as '平均年龄' where sex = '男'
(10)select sno,sname from s inner join sc on s.sno = sc.sno where sc.Cno = 'C2'
(11)create table s
(
sno varchar(5) primary key,
sname varchar(8),
sex varchar(2),
age int ,
addr varchar(10)
)
完全是按照你上边的要求写的, 希望能帮到你
⑶ sql注入工具下载
黑客SQL服务器入侵实战演习(一)
1.0绪论
当一台机器只开放了80端口(这里指的是提供HTTP服务)时,可能你的大多数漏洞扫描器都不能给到你很多有价值的信息(漏洞信息),倘若这台机器的管理员是经常为他的服务器打PATCH的话,我们只好把攻击的矛头指向WEB服务攻击了。SQL注入攻击是WEB攻击类型中的一种,这种攻击没有什么特殊的要求,只需要对方提供正常的HTTP服务,且不需要理会管理员是否是个“PATCH狂”。这类攻击主要是针对某种WEB处理程序(如ASP,JSP,PHP,CGI等等)的而进行。
这篇文章不是在为阁下介绍什么新“玩意”,SQL注入攻击以前就一直广为流传着。我之所以现在才写这篇文章是因为我想把我最近实验所得的某些经验与积累记录下来,希望能给予读者某些参考吧。你也可以在“9.0我从哪里可以得到更多相关资料?”的栏目中找到更多其他人所写的、关于SQL注入技巧的相关资料。
1.1什么是SQL注入?
这种攻击的要诀在于将SQL的查询/行为命令通过‘嵌入’的方式放入合法的HTTP提交请求中从而达到攻击者的某种意图。现在很多的动态网页都会从该网页使用者的请求中得到某些参数,
然后动态的构成SQL请求发给数据库的。举个例子,当有某个用户需要通过网页上的用户登陆(用户身份验证)时,动态网页会将
该用户提交上来的用户名与密码加进SQL询问请求发给数据库,用于确认该用户提交的身份验证信息是否有效。在SQL注入攻击的角度看来,这样可以使我们在发送SQL请求时通过修改用户名与/或密码值的‘领域’区来达到攻击的目的。
1.2SQL注入需要什么(工具等)呢?
一个(些)网页浏览器。
2.0什么信息是你所需要找寻的呢?
首先你需要找到允许提交数据的页面,如:登陆页面、搜索页面、反馈页面、等等。有的时候,某些HTML页面会通过POST命令将所需要的参数传递给其他的ASP页面。所以,有的时候你不会在URL路径中看到相关的参数。尽管如此,
你仍可以通过查看HTML的源代码中的"FORM标签来辨别是否有参数传递,相关的代码如下:
<FORM action=Search/search.asp method=post>
<input type=hidden name=A value=C>
</FORM>
在<FORM>与</FORM>的标签对间的每一个参数传递都有可能可以被利用(利用在攻击的情况下)着SQL注入。
2.1当你找不到有输入行为的页面时应该怎么办呢?
你可以找一些相关ASP、JSP、CGI或PHP这类型的页面。尝试找一些带有某些参数的特殊URL,如:
http://ck/index.asp?id=10
3.0你应该如何测试这些缺陷是否存在呢?
首先先加入某些特殊的字符标记,输入如:
hi' or 1=1--
寻找一些登陆页面,在其登陆ID与密码输入处,或URL中输入:
- Login: hi' or 1=1--
- Pass: hi' or 1=1--
- http://ck/index.asp?id=hi' or 1=1--
如果想以‘隐藏’的方式进行此类测试,你可以把该HTML网页从网站上下载至本地硬盘,修改其隐藏部分
的值,如:
<FORM action=http://ck/Search/search.asp method=post>
<input type=hidden name=A value="hi' or 1=1-->
</FORM>
如果阁下是幸运的话估计现在已经可以不需要帐号与密码而‘成功登陆’了。
⑷ sql server2005标准版 免费下载地址
http://hi..com/hicdl/blog/item/cbaaa91be8e4481e8718bf12.html
你只需要进这个里面,选择你要的标准就可以了!
具体步奏有介绍
⑸ 求里诺进销存SQL网络版 V3.25完美破解注册码!!!!
免费是没有。。那些免费的,性能,功能,稳定,出错,都不大好。用了也是白用。
建议你还是使用比较正规。。
所谓没有免费的午餐。
听说,鹏世进销存的价格在市场上是最便宜。。 稳定性也是最好的。
你可以先去下,试用版 。如果觉得好。。
在跟他们联系。。
⑹ 哪里有免费的SQL Server 2005(中文版)下载啊
我知道你的意思了,中文,免费。
这个可以直接使用微软官方提供的SQL SERVER2005中文快速开发版本。
在日志里有下载地址和安装使用说明。
http://hi..com/44498/blog/item/08d1fed857faec3d32fa1ccd.html
⑺ 谁能给下SQL语句查询大全,谢谢!
日志清除
SET NOCOUNT ON DECLARE @LogicalFileName sysname, @MaxMinutes INT, @NewSize INT USE tablename -- 要操作的数据库名 Select @LogicalFileName = 'tablename_log', -- 日志文件名 @MaxMinutes = 10, -- Limit on time allowed to wrap log. @NewSize = 1 -- 你想设定的日志文件的大小(M) -- Setup / initialize DECLARE @OriginalSize int Select @OriginalSize = size FROM sysfiles Where name = @LogicalFileName Select 'Original Size of ' + db_name() + ' LOG is ' + CONVERT(VARCHAR(30),@OriginalSize) + ' 8K pages or ' + CONVERT(VARCHAR(30),(@OriginalSize*8/1024)) + 'MB' FROM sysfiles Where name = @LogicalFileName Create TABLE DummyTrans (DummyColumn char (8000) not null) DECLARE @Counter INT, @StartTime DATETIME, @TruncLog VARCHAR(255) Select @StartTime = GETDATE(), @TruncLog = 'BACKUP LOG ' + db_name() + ' WITH TRUNCATE_ONLY' DBCC SHRINKFILE (@LogicalFileName, @NewSize) EXEC (@TruncLog) -- Wrap the log if necessary. WHILE @MaxMinutes > DATEDIFF (mi, @StartTime, GETDATE()) -- time has not expired AND @OriginalSize = (Select size FROM sysfiles Where name = @LogicalFileName) AND (@OriginalSize * 8 /1024) > @NewSize BEGIN -- Outer loop. Select @Counter = 0 WHILE ((@Counter < @OriginalSize / 16) AND (@Counter < 50000)) BEGIN -- update Insert DummyTrans VALUES ('Fill Log') Delete DummyTrans Select @Counter = @Counter + 1 END EXEC (@TruncLog) END Select 'Final Size of ' + db_name() + ' LOG is ' + CONVERT(VARCHAR(30),size) + ' 8K pages or ' + CONVERT(VARCHAR(30),(size*8/1024)) + 'MB' FROM sysfiles Where name = @LogicalFileName Drop TABLE DummyTrans SET NOCOUNT OFF
更改某个表
exec sp_changeobjectowner 'tablename','dbo'
存储更改全部表
Create PROCEDURE dbo.User_ChangeObjectOwnerBatch @OldOwner as NVARCHAR(128), @NewOwner as NVARCHAR(128) AS DECLARE @Name as NVARCHAR(128) DECLARE @Owner as NVARCHAR(128) DECLARE @OwnerName as NVARCHAR(128) DECLARE curObject CURSOR FOR select 'Name' = name, 'Owner' = user_name(uid) from sysobjects where user_name(uid)=@OldOwner order by name OPEN curObject FETCH NEXT FROM curObject INTO @Name, @Owner WHILE(@@FETCH_STATUS=0) BEGIN if @Owner=@OldOwner begin set @OwnerName = @OldOwner + '.' + rtrim(@Name) exec sp_changeobjectowner @OwnerName, @NewOwner end -- select @name,@NewOwner,@OldOwner FETCH NEXT FROM curObject INTO @Name, @Owner END close curObject deallocate curObject GO
SQL SERVER中直接循环写入数据
declare @i int set @i=1 while @i<30 begin insert into test (userid) values(@i) set @i=@i+1 end
创建数据库
创建之前判断该数据库是否存在 if exists (select * from sysdatabases where name='databaseName') drop database 'databaseName' go Create DATABASE database-name
删除数据库
drop database dbname
备份sql server
--- 创建 备份数据的 device USE master EXEC sp_admpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat' --- 开始 备份 BACKUP DATABASE pubs TO testBack
创建新表
create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..) 根据已有的表创建新表: A:create table tab_new like tab_old (使用旧表创建新表) B:create table tab_new as select col1,col2… from tab_old definition only
删除新表
drop table tabname
增加一个列
Alter table tabname add column col type 注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。
添加主键
Alter table tabname add primary key(col) 说明:删除主键: Alter table tabname drop primary key(col)
创建索引
create [unique] index idxname on tabname(col….) 删除索引:drop index idxname on tabname 注:索引是不可更改的,想更改必须删除重新建。
创建视图
create view viewname as select statement 删除视图:drop view viewname
几个简单的基本的sql语句
选择:select * from table1 where 范围 插入:insert into table1(field1,field2) values(value1,value2) 删除:delete from table1 where 范围 更新:update table1 set field1=value1 where 范围 查找:select * from table1 where field1 like ’%value1%’ (所有包含‘value1’这个模式的字符串)---like的语法很精妙,查资料! 排序:select * from table1 order by field1,field2 [desc] 总数:select count(*) as totalcount from table1 求和:select sum(field1) as sumvalue from table1 平均:select avg(field1) as avgvalue from table1 最大:select max(field1) as maxvalue from table1 最小:select min(field1) as minvalue from table1[separator]
几个高级查询运算词
A: UNION 运算符 UNION 运算符通过组合其他两个结果表(例如 TABLE1 和 TABLE2)并消去表中任何重复行而派生出一个结果表。当 ALL 随 UNION 一起使用时(即 UNION ALL),不消除重复行。两种情况下,派生表的每一行不是来自 TABLE1 就是来自 TABLE2。 B: EXCEPT 运算符 EXCEPT 运算符通过包括所有在 TABLE1 中但不在 TABLE2 中的行并消除所有重复行而派生出一个结果表。当 ALL 随 EXCEPT 一起使用时 (EXCEPT ALL),不消除重复行。 C: INTERSECT 运算符 INTERSECT 运算符通过只包括 TABLE1 和 TABLE2 中都有的行并消除所有重复行而派生出一个结果表。当 ALL 随 INTERSECT 一起使用时 (INTERSECT ALL),不消除重复行。 注:使用运算词的几个查询结果行必须是一致的。
使用外连接
A、left outer join: 左外连接(左连接):结果集既包括连接表的匹配行,也包括左连接表的所有行。 SQL: select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c B:right outer join: 右外连接(右连接):结果集既包括连接表的匹配连接行,也包括右连接表的所有行。 C:full outer join: 全外连接:不仅包括符号连接表的匹配行,还包括两个连接表中的所有记录。
[编辑本段]提升
复制表
(只复制结构,源表名:a 新表名:b) (Access可用) 法一:select * into b from a where 1<>1 法二:select top 0 * into b from a
拷贝表
(拷贝数据,源表名:a 目标表名:b) (Access可用) insert into b(a, b, c) select d,e,f from b;
跨数据库之间表的拷贝
(具体数据使用绝对路径) (Access可用) insert into b(a, b, c) select d,e,f from b in ‘具体数据库’ where 条件 例子:..from b in '"&Server.MapPath("."&"\data.mdb" &"' where..
子查询
(表名1:a 表名2:b) select a,b,c from a where a IN (select d from b 或者: select a,b,c from a where a IN (1,2,3)
显示文章、提交人和最后回复时间
select a.title,a.username,b.adddate from table a,(select max(adddate) adddate from table where table.title=a.title) b
外连接查询
(表名1:a 表名2:b) select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c
在线视图查询
(表名1:a select * from (Select a,b,c FROM a) T where t.a > 1;
between的用法
between限制查询数据范围时包括了边界值,not between不包括 select * from table1 where time between time1 and time2 select a,b,c, from table1 where a not between 数值1 and 数值2
in 的使用方法
select * from table1 where a [not] in (‘值1’,’值2’,’值4’,’值6’)
删除主表中已经在副表中没有的信息
两张关联表delete from table1 where not exists ( select * from table2 where table1.field1=table2.field1
四表联查问题
select * from a left inner join b on a.a=b.b right inner join c on a.a=c.c inner join d on a.a=d.d where .....
日程安排提前五分钟提醒
SQL: select * from 日程安排 where datediff('minute',f开始时间,getdate())>5
一条sql 语句搞定数据库分页
select top 10 b.* from (select top 20 主键字段,排序字段 from 表名 order by 排序字段 desc) a,表名 b where b.主键字段 = a.主键字段 order by a.排序字段
前10条记录
select top 10 * form table1 where 范围
选择排名
选择在每一组b值相同的数据中对应的a最大的记录的所有信息(类似这样的用法可以用于论坛每月排行榜,每月热销产品分析,按科目成绩排名,等等.) select a,b,c from tablename ta where a=(select max(a) from tablename tb where tb.b=ta.b)
派生结果表
包括所有在 TableA 中但不在 TableB和TableC 中的行并消除所有重复行而派生出一个结果表 (select a from tableA except (select a from tableB) except (select a from tableC)
随机取出10条数据
select top 10 * from tablename order by newid()
随机选择记录
select newid()
删除重复记录
Delete from tablename where id not in (select max(id) from tablename group by col1,col2,...)
列出数据库里所有的表名
select name from sysobjects where type='U'
列出表里的所有的
select name from syscolumns where id=object_id('TableName')
列示排列
列示type、vender、pcs字段,以type字段排列,case可以方便地实现多重选择,类似select 中的case。 select type,sum(case vender when 'A' then pcs else 0 end),sum(case vender when 'C' then pcs else 0 end),sum(case vender when 'B' then pcs else 0 end) FROM tablename group by type 显示结果: type vender pcs 电脑 A 1 电脑 A 1 光盘 B 2 光盘 A 2 手机 B 3 手机 C 3
初始化表table1
TRUNCATE TABLE table1
选择从10到15的记录
select top 5 * from (select top 15 * from table order by id asc) table_别名 order by id desc
数据类型转换
declare @numid int declare @id varchar(50) set @numid=2005 set @id=convert(varchar,@numid) 通过上述语句完成数据类型Int转换成varchar,其他转换类似,可参看convert函数
[编辑本段]技巧
1=1,1=2的使用
在SQL语句组合时用的较多 “where 1=1” 是表示选择全部 “where 1=2”全部不选, 如: if @strWhere !=' begin set @strSQL = 'select count(*) as Total from [' + @tblName + '] where ' + @strWhere end else begin set @strSQL = 'select count(*) as Total from [' + @tblName + ']' end 我们可以直接写成 set @strSQL = 'select count(*) as Total from [' + @tblName + '] where 1=1 安定 '+ @strWhere
收缩数据库
--重建索引 DBCC REINDEX DBCC INDEXDEFRAG --收缩数据和日志 DBCC SHRINKDB DBCC SHRINKFILE
压缩数据库
dbcc shrinkdatabase(dbname) 转移数据库给新用户以已存在用户权限 exec sp_change_users_login 'update_one','newname','oldname' go
检查备份集
RESTORE VERIFYONLY from disk='E:\dvbbs.bak'
修复数据库
Alter DATABASE [dvbbs] SET SINGLE_USER GO DBCC CHECKDB('dvbbs',repair_allow_data_loss) WITH TABLOCK GO Alter DATABASE [dvbbs] SET MULTI_USER GO
⑻ 找国内国外免费空间申请哪里有呀
国内免费空间
1.免费空间datasir:200M/php/asp/access/Mysql
2.飞龙科技:300M/asp/php/access/绑定域名2个
3.连云港IDC: 100M/asp/php/access/绑定6个域名
4.50M/asp/ftp/支持动易、乔客、新云、渐飞组件/免费空间
5.100M 网页空间 全能空间 无条件申请/免费空间
6.38互联:100M/全能空间/免费空间
7.中国8U免费空间:100M/200M/php/asp/米只0.8元
8.火山互联1G/php/asp/数据库/免费空间
9.50M/PHP/HTML/空间/10M MYSQL空间/ftp
国外免费空间
1.空间推荐:250M/phpMysql/绑米无限个、独立面板/商业级
2.商业空间推荐:100M-10G,FTP/hostmonster商业空间
3.free hosting:300M/php/mysql/无文件大小、类型限制/
4.free websites:3G/php/mysql/ftp/访问统计
5.free web hosting:5G/php/mysql/cgi/perl/
6.free web page:7G/php/mysql/dns/绑定域名/domains support
7.free hosting:15G/php/mysql/zend/gd2.0/二级域名/绑定顶米
8.free host:20G/php/mysql/绑定域名/support domains
9.free hosting:无限大小/php/mysql/文件最大5M
php免费空间
1.商业空间推荐:100M-10G,FTP/hostmonster商业空间
2.php免费空间 300M/php/mysql/无文件大小、类型限制/
3.空间推荐: 250M/php/mysql/Perl, CGI, Ruby/米/成人
4.php免费空间 5G/php/mysql/cgi/perl/
5.php免费空间 7G/php/mysql/dns/绑定域名
6.php免费空间 15G/php/mysql/zend/gd2.0/二级域名/绑定顶米
7.php免费空间 20G/php/mysql/绑定域名
8.php免费空间 无限大小/php/mysql/文件最大5M
9.php免费空间 200M/php/mysql/ftp/绑定域名
asp免费空间
1.国外asp免费空间: 50M/asp/ftp/绑定域名
2.国外asp免费空间: 350M/asp3.0/access/ftp/
3.国外asp免费空间: 100M/asp/access/ftp
4.国外asp空间: 100M/asp/access/ftp/无文件大小、类型限制
5.国外asp免费空间: 30M/asp/ftp/二级域名
6.国内asp免费空间: 30M/asp/ftp/绑定域名
7.国内asp免费空间: 300M/asp/php/access/绑定域名2个
8.中国8U免费空间:100M/200M/php/asp/米只0.8元
9.火山互联1G/php/asp/数据库/免费空间
⑼ 请问有没有免费的asp.net空间,还有就是SQL的数据库如何上传,麻烦知道的解说一下、
免费的空间有应该是有,不过很少,而且那种空间很容易出问题,广告也多,SQL数据库一般是通过导出导入的方式来上传~
希望对你的问题有所帮助,如果还有什么疑问可以HI在线咨询,IT精英俱乐部真诚为您解答!
⑽ SQL附加数据库出错 如下图 在线等 百度Hi在线 QQQ在线 1072892248
1. 修改数据库文件属性:右键数据库文件--属性--去钩“只读”
2. 添加用户权限:右键数据库文件--属性--安全--把当前用户的权限设置为“完全控制”