
sql
xiuzhentianting
这个作者很懒,什么都没留下…
展开
-
sqlServer中修复有问题的表
sqlServer数据库库坏表的修复: 1.将数据库设置为单用户模式 exec sp_dboption '库名' ,'single_user','true' 2.修复表 dbcc CHECKTABLE('表名',REPAIR_ALLOW_DATA_LOSS) 3.将数据库设置回多用户模式 exec sp_dboption '库名' ,'single_user','fal原创 2015-09-09 14:03:12 · 848 阅读 · 0 评论 -
mysql的char和varchar
char读取需要rtrim,数据操作效率比较高。原创 2016-11-02 15:36:30 · 237 阅读 · 0 评论 -
让mysql数据库允许被远程连接访问
在window自带的防火墙里的例外添加3306端口 总结: mysql -u root -p mysql>use mysql; mysql>select 'host' from user where user='root'; mysql>update user set host = '%' where user ='root'; mysql>flush privileg原创 2015-09-06 10:12:26 · 440 阅读 · 0 评论 -
innoDB和MyISAM怎么选择
innoDB比较好的地方是缓存、查询速度、数据不宜出错。如果表格内容记录下不需要经常查询了,用MyISAM是可以的。但是如果很多线程同时访问1个表格,最好是使用innoDB, 因MyISAM每次写入都是锁定表格的,等于是单线程了。原创 2016-11-02 19:23:17 · 440 阅读 · 0 评论 -
phpMyAdmin执行成功,但是mysql命令source导入失败: Data too long for column
如果sql文件里中文的编码是utf8,那么在sql文件加上:set names utf8;后面才是insert into如果是gb2312,就用 set names gb2312;这样用sql命令行的source命令就可以导入大容量数据了。原创 2016-11-08 21:05:50 · 1094 阅读 · 0 评论 -
mysql中数据库名字怎么分大小写
MySQL在Linux下数据库名、表名、列名、别名大小写规则是这样的: 1、数据库名与表名是严格区分大小写的; 2、表的别名是严格区分大小写的; 3、列名与列的别名在所有的情况下均是忽略大小写的; 4、变量名也是严格区分大小写的;MySQL在Windows下默认都不区分大小写。 所以在不同操作系统中为了能使程序和数据库都能正常运行,最好的办法是在设计的时候都转为小原创 2016-11-05 15:37:38 · 1008 阅读 · 0 评论 -
phpmyadmin查询字符串显示完整字符串
select * from `test`;结果集上面有个 +选项, 展开, 选择:完整内容选项 部分内容 完整内容显示二进制内容显示 BLOB 内容隐藏浏览器转换 几何体 WKT 文本表达 WKB 二进制表达原创 2016-11-05 11:56:29 · 3442 阅读 · 0 评论 -
mysql授权ip访问
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.11' IDENTIFIED BY 'pwd' WITH GRANT OPTION; FLUSH PRIVILEGES;原创 2016-08-08 18:15:37 · 1737 阅读 · 0 评论 -
MySQL server has gone away
有可能是密码错误,认证失败。原创 2015-12-09 09:52:20 · 366 阅读 · 0 评论 -
mysql的replace into和INSERT INTO ON DUPLICATE KEY 的适用情况
replace into: 当主键记录存在时,替换已经存在的行,适合保存对象的实时状态的表格 REPLACE INTO `test`(c1, c2) VALUES(1, 1);INSERT INTO ... ON DUPLICATE KEY ...: 适合对象的统计信息,存在则插入,否则累加 INSERT INTO `test`(c1, c2) VALU原创 2016-11-02 16:06:35 · 271 阅读 · 0 评论 -
关于autocommit
autocommit对myisam的影响不大,不论是否缓存提交数据,insert into的时间差不多autocommit对innodb模式的mysql数据影响特别大, 如果需要频繁insert into 大量不重要日志,那么就需要 set autocommit=0; 执行insert into 语句, 定期检测是否需要commit; 这样效率比较高。如果是inno原创 2016-11-02 16:00:25 · 506 阅读 · 0 评论 -
mysql Commands out of sync
f you get Commands out of sync; you can't run this command now in your client code, you are calling client functions in the wrong order.This can happen, for example, if you are using mysql_use_r原创 2016-11-25 19:32:59 · 632 阅读 · 0 评论 -
mysql的存储过程不允许锁表
可以通过触发器来实现特殊功能。原创 2016-11-24 11:56:41 · 4140 阅读 · 0 评论 -
mysql用游标执行动态语句
delimiter $$ create procedure sp_test() BEGIN declare tmp varchar(1000); declare done int default -1; /* 声明游标 */ declare myCursor cursor for select str原创 2016-11-23 15:44:57 · 7144 阅读 · 0 评论 -
mysql 修复损坏表格方法
执行语句:REPAIR TABLE tablename原创 2016-11-23 15:39:58 · 582 阅读 · 0 评论 -
centos7 安装mysql
yum install mariadb-server.x86_64service mariadb startmysql_secure_installation 默认无密码,通过这个命令设置密码和其他选项mysql -uroot -p 就可以登录操作了。原创 2016-11-23 14:47:23 · 265 阅读 · 0 评论 -
wait_timeout和interactive_timeout区别
CLIENT_INTERACTIVEPermit interactive_timeout seconds of inactivity (rather than wait_timeout seconds) before closing the connection. The client's session wait_timeout variable is set to the原创 2016-11-22 16:09:24 · 858 阅读 · 0 评论 -
mysql命令查找数据库的data物理路径
mysql -u root -pmysql>show global variables like "%datadir%";原创 2016-11-02 21:01:09 · 404 阅读 · 0 评论 -
mysql查询时间只有2个小数点,可以用phpMyAdmin更精确
SELECT * FROM `test` WHERE 1;phpMyAdmin会显示如下:正在显示第 0 - 20 行 (共 21 行, 查询花费 0.0002 秒。)原创 2016-11-02 20:02:07 · 824 阅读 · 0 评论 -
系统密码修改,SQLServer启动失败
解决办法如下:第一种方式: 我的电脑--控制面板--管理工具--服务--右键MSSQLSERVER--属性--登陆--登陆身份--选择"本地系统帐户"第二种方式: 我的电脑--控制面板--管理工具--服务--右键MSSQLSERVER--属性--登陆--登陆身份--选择"此帐户"--密码和确认密码中输入你修改后的administrator密码.两者的区别:原创 2015-09-16 20:58:09 · 370 阅读 · 0 评论 -
计划任务 执行sql脚本
注意:Sql Server需要按照专业版或者企业版,标准版本不能启动SQL Server代理 服务。 企业管理器 --管理 --SQL Server代理 --右键作业 --新建作业 --"常规"项中输入作业名称 --"步骤"项 --新建 --"步骤名"中输入步骤名 --"类原创 2015-09-16 16:31:31 · 790 阅读 · 0 评论 -
选择索引 最左边规则
最左边规则:这种情况发生在多个有索引的域上,mysql从索引列表的最左边开始,按顺序使用他们。alter table customer add initial varchar(5);alter table customer add index(surname,initial,first_name);update customer set initial=‘x‘ where id=1;原创 2015-09-06 10:26:07 · 643 阅读 · 0 评论 -
在进行INSERT INTO大量数据时,删除日志可以提交效率
BACKUP LOG DBName WITH NO_LOGINSERT INTO XXX()SELECT FROM YYY原创 2015-09-06 10:16:04 · 1140 阅读 · 0 评论 -
执行事务时,如果顺序不一样,会导致sql锁死
如何使用跟踪标记 1204-- =====================================================-- 如何使用跟踪标记 1204-- -- 邹建 2005.08(引用请保留此信息)-- =====================================================-- ==============原创 2015-09-06 10:15:01 · 706 阅读 · 0 评论 -
mysql导入数据
常用source 命令进入mysql数据库控制台,如mysql -u root -pmysql>use 数据库然后使用source命令,后面参数为脚本文件(如这里用到的.sql)mysql>source d:/db.sql注意需要 /,而不是\原创 2015-09-06 10:11:40 · 348 阅读 · 0 评论 -
mysql常用sql语句
INSERT INTO `test`.`testdb` (`a`, `b`) VALUES (NULL, '2');INSERT INTO `test`.`testdb` (`b`) VALUES ('2');imit是mysql的语法select * from table limit m,n其中m是指记录开始的index,从0开始,表示第一条记录n是指从第m+1条开始,取n条。selec原创 2015-09-06 10:25:37 · 262 阅读 · 0 评论 -
select嵌套,可以使用父select的每行做判断
SELECT col1, col2 (select count(col1) from table1 a1 WHERE a1.col1=tt.col1 ) as 'tongji1' ,FROM tabletotoal ttWHERE col1 in (1, 2)原创 2015-09-05 12:32:31 · 565 阅读 · 0 评论 -
SqlServer表格卡死问题--事务问题
开始一个事务trybegin.....提交endexcept异常则回滚end如果在处理过程中,直接返回函数,则事务没有提交,也没有回滚,会导致相应的表格锁死。原创 2015-09-09 14:03:50 · 1424 阅读 · 0 评论 -
sql注入漏洞检测方法
具有参数的地址:可以用 啊D注入工具v2.32争抢版 或者 Domain4.3明小子mssql的sysobject检测,可以加上过滤条件,比如UNICODE(substring(xtype,1,1)) between 85 And 85端口扫描用ScanPort1.2原创 2015-09-04 16:41:45 · 3037 阅读 · 0 评论 -
MySQL int(11) 和 int(3) 在数据库里存储一样的结果
总结,int(M) zerofill,加上zerofill后M才表现出有点点效果,比如 int(3) zerofill,你插入到数据库里的是10,则实际插入为010,也就是在前面补充加了一个0.如果int(3)和int(10)不加zerofill,则它们没有什么区别.M不是用来限制int个数的.int(M)的最大值和最小值与undesigned有关,最下面那副图有说明.MySQL has a原创 2015-09-06 10:26:52 · 319 阅读 · 0 评论 -
防止SQL注入
一个恐怖的例子:注入式攻击的详细解释SQL下面我们将以一个简单的用户登陆为例,结合代码详细解释一下SQL注入式攻击,与及他的防范措施。对于一个简单的用户登陆可能的代码如下:try{ string strUserName = this.txtUserName.Text; string strPwd = this.txtPwd.Text; string strSql = "se原创 2015-09-07 12:34:13 · 299 阅读 · 0 评论 -
Sql Server 分布式数据库
Sql Server 2005的工具SQL Server Distributed Cluster Manager Studio。原创 2015-09-16 12:01:08 · 968 阅读 · 0 评论 -
Sql Server 2000 的备份
共有5个表格,每个表格100万记录,数据文件大小 450MB,使用作业,从一台服务器备份到另外一台服务器,第一次需要1分钟多,第二次备份需要不到一分钟。当执行插入语句的时候,100万条需要6分钟,5个表格就需要30分钟,可见SQL Sever的 SELECT INTO 语句不是一条条插入的,是直接Copy整个表格。 SELECT *INTO BackupDB.原创 2015-09-16 16:30:05 · 264 阅读 · 0 评论 -
sql分页方法
表中主键必须为标识列,[ID] int IDENTITY (1,1) 1.分页方案一:(利用Not In和SELECT TOP分页)语句形式: SELECT TOP 10 *FROM TestTableWHERE (ID NOT IN (SELECT TOP 20 id FROM TestTable ORDER原创 2015-09-14 18:55:54 · 293 阅读 · 0 评论 -
排序分页结果错乱的问题
如果order by有内容,但是不能确定唯一的位置,则sql每次查询的结果可能不一样,如果进行分页的话,就会导致数据错乱。分页必须保证order by 确定每行的位置,如果不能确定,可以使用多列排序方法:order by a,b原创 2015-09-14 18:32:49 · 2390 阅读 · 0 评论 -
sqlServer2005以上分页
declare @time datetimedeclare @msintset @time= getdate()select Id,Name from (select row_number() over(order by Id)as rowNum,*from users)as twhererowNumbetween 500000and 5原创 2015-09-14 18:36:11 · 286 阅读 · 0 评论 -
如何使每条sql语句都变化定义的变量
DECLARE @Seed INTSET @Seed=CONVERT(int ,RAND((DATEPART(mm, GETDATE())*100000) + (DATEPART(ss, GETDATE())*1000 ) + DATEPART(ms, GETDATE())) * 2100000000)SELECT @Seedupdate table1set @Se原创 2015-09-07 13:22:06 · 309 阅读 · 0 评论 -
sql2005 OPENDATASOURCE 需要Ad Hoc Distributed Quer
exec sp_configure 'show advanced options',1reconfigureexec sp_configure 'Ad Hoc Distributed Queries',1reconfigureGOSELECT *FROM OPENDATASOURCE('SQLOLEDB', 'Data Source=192.168.1.100,1433原创 2015-09-07 12:39:13 · 298 阅读 · 0 评论 -
sql语句查询txt 文件
exec sp_configure 'show advanced options',1reconfigureexec sp_configure 'Ad Hoc Distributed Queries',1reconfigureGOselect * from openrowset('MICROSOFT.JET.OLEDB.4.0','Text;HDR=Yes;DATABASE原创 2015-09-07 12:37:04 · 1375 阅读 · 0 评论 -
用phpmyadmin导入大容量.sql文件
在phpmyadmin目录文件夹下建立一个文件夹,如 import将想要导入的sql文件放入import文件夹中打开config.inc.php(就在phpmyadmin目录下, 如果没有,复制sample的重命名),找到 $cfg['UploadDir'] = ''; ,将其改为 $cfg['UploadDir'] = 'import'; 打开phpmyad原创 2016-06-09 10:04:24 · 636 阅读 · 0 评论