随笔分类 - mysql
mysql记录日志
摘要://多SQL中导出的触发器语句:DROP TRIGGER IF EXISTS `t_trig`;DELIMITER //CREATE TRIGGER `t_trig` BEFORE INSERT ON `t_goods` FOR EACH ROW beginset NEW.add_date = cu...
阅读全文
摘要:select sum("NUMBER") as WEEK_NUMBER, COMPANY_CODE, PROJECT_CODE from D_VISIT WHERE "DATE" >= (TO_DATE('2014-03-29','yyyy-mm-dd') - (mod(TO_NUMBER(to_char(TO_DATE('2014-03-29','yyyy-mm-dd'),'D'))+7-2,7)) ) AND "DATE" <= TO_DA
阅读全文
摘要:设置mysql.exe文件目录到环境变量Path中去,可能在cmd下面使用mysql,wind7试了一下好像要重启以后才生效什么是数据库 数据库就是存储数据的地方,是保存在计算机(硬盘/内存)中的数据集合关系型数据库什么是数据库管理系统 数据库管理系统(Database System)是由一组程序构成,其主要功能是完成对数据库中的数据进行处理主流的数据库管理系统 mysql Sql server / Access Oracle / db2 / sybase postgresql / sqlite登录数据库命令: cmd > mysql -u[用户名...
阅读全文
摘要:1.说明:触发器的定义就是说某个条件成立的时候,你触发器里面所定义的语句就会被自动的执行。因此触发器不需要人为的去调用,也不能调用。然后,触发器的触发条件其实在你定义的时候就已经设定好的了。这里面需要说明一下,触发器可以分为语句级触发器和行级触发器。简单的说就是语句级的触发器可以在某些语句执行前或执行后被触发。而行级触发器则是在定义的了触发的表中的行数据改变时就会被触发一次。2.触发器作用:安全性;审计;实现复杂的数据完整性规则;实现复杂的非标准的数据库相关完整性规则;同步实时地复制表中的数据3.语法结构:create trigger trigger_name (BEFORE|AFTER) (
阅读全文
摘要:update lee set name = SUBSTR(name, CHAR_LENGTH('lee')+1) where name like "lee%"char_length: 不管汉字还是数字或者是字母都算是一个字符length: 是计算字段的长度一个汉字是算三个字符,一个数字或字母算一个字符mysql中的substr()函数与php中的substr()是一样的substr(String string, int start, int length);
阅读全文
摘要:表的创建CREATE TABLE `lee` (`id` int(10) NOT NULL AUTO_INCREMENT, `name` char(20) DEFAULT NULL, `birthday` datetime DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8数据插入:insert into lee(name,birthday) values ('sam','1990-01-01');insert into lee(name,birthday) values (&
阅读全文
摘要:为已经添加好的数据表添加外键:语法:alter table 表名 add constraint FK_ID foreign key(你的外键字段名) REFERENCES 外表表名(对应的表的主键字段名);例: alter table tb_active add constraint FK_ID foreign key(user_id) REFERENCES tb_user(id)//FK_ID是外键的名称/*CREATE TABLE `tb_active` ( `id` int(11) NOT NULL AUTO_INCREMENT, `title` varchar(100) CHARACT
阅读全文
摘要:INSERT IGNORE INTO test(id, starttime, endtime) VALUES(8, '22','22')IGNORE有则忽略,无则添加REPLACE INTO test(id, starttime, endtime) VALUES(7,'222','222')替换指定ID的值
阅读全文
摘要:需求:假如当前时间是大于starttime且小于endtime的则按starttime倒序排列显示一条记录;假如当前时间小于starttime且小于endtime则按starttime正序排列显示一条记录。要在一次sql查询中完成。====这个是论坛里面的,人家给出答案了,我只是学习的.算做个学习笔记,也许以后会用到。怕脑子坏了 SELECT FROM_UNIXTIME( starttime, '%Y年%m月%d日 %H时%i分%s秒' ) AS starttime, FROM_UNIXTIME( endtime, '%Y年%m月%d日 %H时%i分%s秒' )
阅读全文
摘要:products表里取消用户ID,产品ID重复值,,,,,distinct on(列名1,列名2,,,)例子:selectdistinct on (user_id,product_id),product_price from products ...............
阅读全文
摘要:delete from tb_followinfo a where a.id <> (select max(id) from tb_followinfo b where b.followuid = a.followuid AND b.uid = a.uid)
阅读全文
摘要:SELECT post.ID, post.User_id, post.Title, GROUP_CONCAT( tag.Tag_valueSEPARATOR ';' ) AS tagsFROM postRIGHT JOIN tags_con_id ON tags_con_id.Post_ID = post.IDLEFT JOIN tag ON tag.Tag_id = tags_con_id.Tag_idGROUP BY post.IDLIMIT 0 , 30 ---- 表的结构 `post`--CREATE TABLE `post` ( `ID` int(11) NOT NU
阅读全文
摘要:解决方法:php标准配置正是通过'/tmp/mysql.sock',但一些mysql安装方法将mysql.sock放在/var/lib/mysql.sock或者其他地方,你可以通过修改/etc/my.cnf文件来修正它,打开文件更改一下: [mysqld] socket=/var/lib/mysql.sock 假如更改后mysql程序连不上,可以使用下面的方法继续修改: [mysql] socket=/tmp/mysql.sock 另外还可以用下面的方法: ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sockCan not connec
阅读全文
摘要:--不足:23山东和16山东重复--创建DBPromary数据库create database DBPromaryuse DBPromarygo--创建promary表create table promary(proID int primary key,proName varchar(50) not null)------------------------------------------------------------------------------------------------------------------------------------------中国34个省
阅读全文
摘要:最近一次在用phpmyadmin导入mysql数据库时,偶的15M的数据库不能导入,mysql数据库最大只能导入2M..phpmyadmin数据库导入出错:You probably tried to upload too large file. Please refer to documentation for ways to workaround this limit.可以修改导入数据库文件最大限制吗?到网上搜索了一下前人的解决办法,大多数都说修改php.ini中的upload_max_filesize,但修改了这个以后,还是提示这个问 题;但phpmyadmin在提示这个问题的时候,右下角
阅读全文
摘要:对于每个类型拥有的值范围以及并且指定日期何时间值的有效格式的描述见7.3.6 日期和时间类型。 这里是一个使用日期函数的例子。下面的查询选择了所有记录,其date_col的值是在最后30天以内: mysql> SELECT something FROM table WHERE TO_DAYS(NOW()) - TO_DAYS(date_col) <= 30; DAYOFWEEK(date) 返回日期date的星期索引(1=星期天,2=星期一, ……7=星期六)。这些索引值对应于ODBC标准。 mysql> select DAYOFWEEK('199
阅读全文
摘要:今天在论坛中看到一个关于mysql的问题,问题如下goods_id是商品idcat_id是分类id当我,怎么根据这种分类ID查数据(一个商品有多个分类,而且用逗号隔开了)我现在用的是like 这样的话,输入一个分类id是688,或者4722都能出来这个商品,但输入一个722也出来这个商品了。如果用like做的话,肯定会有问题的,我的开始的想法是,把cat_id里面的字符串换成数组,这样可以利用mysql里面的in操作,这样就不会出现查找722,而4722类别下的产品都跑出来了。我从网上找了半天,这方面的字符串操作函数,没找到,不过我发现了find_in_set这个函数虽然不能,将字符串转换成数
阅读全文
摘要:随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多。但是由于这个行业的入门门槛不高,程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患。用户可以提交一段数据库查询代码,根据程序返回的结果,获得某些他想得知的数据,这就是所谓的SQL Injection,即SQL注入。 SQL注入是从正常的WWW端口访问,而且表面看起来跟一般的Web页面访问没什么区别,所以目前市面的防火墙都不会对SQL注入发出警报,如果管理员没查看IIS日志的习惯,可能被入侵很长时间都不会发觉。但是,SQL注入的手法相当灵活,在注入的
阅读全文
摘要:SQL注入攻击是黑客攻击网站最常用的手段。如果你的站点没有使用严格的用户输入检验,那么常容易遭到SQL注入攻击。SQL注入攻击通常通过给站点数据库提交不良的数据或查询语句来实现,很可能使数据库中的纪录遭到暴露,更改或被删除。下面来谈谈SQL注入攻击是如何实现的,又如何防范。 看这个例子:// supposed input$name = “ilia’; DELETE FROM users;”;mysql_query(“SELECT * FROM users WHERE name=’{$name}’”); 很明显最
阅读全文