PHP学习_PHP技术_PHP网站建设_PHP程序员专注于PHP技术研究及学习

文档归类:数据库

MySql中把一个表的数据插入到另一个表中的SQL语句2014-04-30

1.如果2张表的字段一致,并且希望插入全部数据,可以用这种方法:INSERT INTO 目标表 SELECT * FROM 来源表;insert into insertTest select * from insertTest2;2.如果只希望导入指定字段,可以用这种方法:INSERT INTO 目标表 (字段1, 字段2, …) SELECT 字段1, 字段2, … FROM 来源表;(这里的话字段必须保持一致)insert into insertTest2(id) select id from insertTest2;...

MySQL数据库将多条记录的单个字段合并成一条记录2014-03-31

MySQL数据库将多条记录的单个字段合并成一条记录的操作是本文我们主要要介绍的内容,接下来就让我们一起来了解一下这部分内容吧。测试用表结构:CREATE TABLE IF NOT EXISTS `tet` (  `id` int(11) NOT NULL,  `name` varchar(255) NOT NULL,  `url` varchar(255) NOT NULL) ENGINE=InnoDB DEFAULT CHARSET=utf8;转存表中的数据 `tet`INSERT INTO `tet` (`id`, `name`, `url`) VALUES(1, '百度', 'http://www.baidu.com'),(0, 'google', 'http://www.google.com.hk'),(3, '400电话', 'http://www.my400800.cn');方法一:SELECT GROUP_CONCAT ( name )&...
此文被围观2061 分类: 数据库 标签:  ··

mysql忘记密码,centos mysql忘记密码2014-03-31

如果忘记了 MySQL 的 root 密码,可以用以下方法重新设置: 1. KILL掉系统里的MySQLD进程; killall -TREM mysqld 2. 用以下命令启动MySQL,以不检查权限的方式启动; mysqld_safe -skip-grant-tables & 3. 然后用空密码方式使用root用户登录 MySQL; mysql -u root 4. 修改root用户的密码; mysql> update mysql.user set password=PASSWORD(’新密码’) where User=’root’; mysql> flush privileges; mysql> quit 5. 重新启动MySQL,就可以使用新密码登录了...
此文被围观2095 分类: 数据库 标签:  ····

MySQL 字段类型参考2014-03-31

字段类型: TINYINT[(M)] [UNSIGNED] [ZEROFILL] 一个很小的整数。有符号的范围是-128到127,无符号的范围是0到255。SMALLINT[(M)] [UNSIGNED] [ZEROFILL] 一个小整数。有符号的范围是-32768到32767,无符号的范围是0到65535。MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL] 一个中等大小整数。有符号的范围是-8388608到8388607,无符号的范围是0到16777215。INT[(M)] [UNSIGNED] [ZEROFILL] 一个正常大小整数。有符号的范围是-2147483648到2147483647,无符号的范围是0到4294967295。INTEGER[(M)] [UNSIGNED] [ZEROFILL] 这是INT的一个同义词。BIGINT[(M)] [UNSIGNED] [ZEROFILL] 一个大整数。有符号的范围是-9223372036854775808到9223372036854775807,无符号的范围是0到18446744073709551615。FLOAT[(M,D)] [ZEROFILL] 一个小(单精密)浮点数字。不能无符号。允许的值是-3.402823466E+38到-1.175494351E-38,0 和 1.175494351E-38到3.402823466E+38。M是显示宽度而D是小数的位数。没有参数的FLOAT或有<24 的一个 参数表示一个单精密浮点数字。DOUB...
此文被围观1989 分类: 数据库 标签:  ···

PHP+MYSQL数据插入性能对比2014-03-13

建表类型为InnoDB使用事务插入10万条记录需要25秒左右若不使用则需要........很长,可能你都不想记录.修改表类型为MyISAM插入10万条记录需要26秒左右插入了100万条数据花费了242秒左右所有测试都是在本机上进行的,当我放到服务器上就不一样了!...
此文被围观2383 分类: 数据库 标签:  ······

关于mysql处理百万级以上的数据时如何提高其查询速度的方法2014-03-03

      最近一段时间由于工作需要,开始关注针对Mysql数据库的select查询语句的相关优化方法。由于在参与的实际项目中发现当mysql表的数据量达到百万级时,普通SQL查询效率呈直线下降,而且如果where中的查询条件较多时,其查询速度简直无法容忍。曾经测试对一个包含400多万条记录(有索引)的表执行一条条件查询,其查询时间竟然高达40几秒,相信这么高的查询延时,任何用户都会抓狂。因此如何提高sql语句查询效率,显得十分重要。以下是网上流传比较广泛的30种SQL查询语句优化方法:1、应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。2、对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。3、应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:select id from t where num=04、尽量避免在 where 子句中使用 or 来连接条件,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num=10 or num=20可以这样查询:select id from t where num=10union allselect id from t whe...
此文被围观1585 分类: 数据库 标签:  ·····

PHP5 mysqli 教程2014-03-03

mysqli提供了面向对象和面向过程两种方式来与数据库交互,分别看一下这两种方式。1.面向对象在面向对象的方式中,mysqli被封装成一个类,它的构造方法如下:__construct ([ string $host [, string $username [, string $passwd [, string $dbname[, int $port [, string $socket ]]]]]] )在上述语法中涉及到的参数说明如下。l         host:连接的服务器地址。l         username:连接数据库的用户名,默认值是服务器进程所有者的用户名。l         passwd:连接数据库的密码,默认值为空。l         dbname:连接的数据库名称。l         por...
此文被围观2025 分类: 数据库 标签:  ····

mysql中distinct和group by区别2014-03-03

在数据表中记录了用户验证时使用的书目,现在想取出所有书目,用DISTINCT和group by都取到了我想要的结果,但我发现返回结果排列不同,distinct会按数据存放顺序一条条显示,而group by会做个排序(一般是ASC)。DISTINCT 实际上和 GROUP BY 操作的实现非常相似,只不过是在 GROUP BY 之后的每组中只取出一条记录而已。所以,DISTINCT 的实现和 GROUP BY 的实现也基本差不多,没有太大的区别,同样可以通过松散索引扫描或者是紧凑索引扫描来实现。那DISTINCT 和GROUP BY哪个效率更高?DISTINCT操作只需要找出所有不同的值就可以了。而GROUP BY操作还要为其他聚集函数进行准备工作。从这一点上将,GROUP BY操作做的工作应该比DISTINCT所做的工作要多一些。       但实际上,GROUP BY 效率会更高点,为什么呢?对于DISTINCT操作,它会读取了所有记录,而GROUP BY需要读取的记录数量与分组的组数量一样多,也就是说比实际存在的记录数目要少很多。例子  aa表       a          b          ...
此文被围观930 分类: 数据库 标签:  ····

mysql_pconnect() 函数2014-03-03

定义和用法mysql_pconnect() 函数打开一个到 MySQL 服务器的持久连接。 mysql_pconnect() 和 mysql_connect() 非常相似,但有两个主要区别:当连接的时候本函数将先尝试寻找一个在同一个主机上用同样的用户名和密码已经打开的(持久)连接,如果找到,则返回此连接标识而不打开新连接。其次,当脚本执行完毕后到 SQL 服务器的连接不会被关闭,此连接将保持打开以备以后使用(mysql_close() 不会关闭由 mysql_pconnect() 建立的连接)。语法mysql_pconnect(server,user,pwd,clientflag)参数描述server可选。规定要连接的服务器。 可以包括端口号,例如 "hostname:port",或者到本地套接字的路径,例如对于 localhost 的 ":/path/to/socket"。 如果 PHP 指令 mysql.default_host 未定义(默认情况),则默认值是 'localhost:3306'。user可选。用户名。默认值是服务器进程所有者的用户名。pwd可选。密码。默认值是空密码。clientflag可选。client_flags 参数可以是以下常量的组合:MYSQL_CLIENT_SSL - 使用 SSL 加密MYSQL_CLIENT_COMPRESS - 使用压缩协议MYSQL_CLIENT_IGNORE_SPACE - 允许函数名后的间隔MYSQL_CL...
此文被围观2028 分类: 数据库 标签:  ···

MYSQL的索引主要作用是什么!2014-03-03

MYSQL的索引主要作用是什么? 通俗的说索引是用来提高查询效率,不需要通过扫描全部表记录,而直接使用索引快速定位需要查询的值。...
此文被围观1209 分类: 数据库 标签:  ···

PHP+MYSQL数据库关键词模糊匹配查找2014-01-17

这里有讨论贴: http://bbs.phpchina.com/thread-274384-1-1.html //两个字符串相互比对 $str = "好喝的饮料"; $store = "饮料|咖啡|冷饮|"; $arrData= explode('|',$store); $sumData= count($arrData); for($i=0;$i<$sumData;$i++) { $back1 = strchr($arrData[$i],$str ); $back2 = strchr($str ,$arrData[$i]); //任何一个在另外一个存在,就记录 if($back1 != '' || $back2 != '') { $id = "ok"; break; } } echo $id; 实例: //进行所有关键词查找一对一对想到匹配 $key_list = $publish->where("status=0 and keywords<>''")->order("ord asc,id desc")->field("id,keywords")->select(); if ($key_list){ foreach ($key_list as $m=>$n){ $n['keywords'] = str_replace(",",",",$n['keywords']); if (substr_count($n['k...
此文被围观2435 分类: 数据库 标签:  ·····

删除Mysql的MySql-bin.0000X日志文件的方法2013-07-26

mysql-bin.000001、mysql- bin.000002等文件是数据库的操作日志,例如UPDATE一个表,或者DELETE一些数据,即使该语句没有匹配的数据,这个命令也会存储到日志 文件中,还包括每个语句执行的时间,也会记录进去的。 那么这些文件该怎么删除和禁止呢? 禁止方法: vi /etc/my.cnf把里面的 #log-bin=mysql-bin #binlog_format=mixed 注释掉,重启mysql服务即可. 删除方法: 输入命令: /usr/local/mysql/bin/mysql -u root -p 输入密码登陆mysql后,运行命令: reset master; (包括;号) 清空日志文件.再查看Mysql文件的大小,已经小了很多了. -bash-3.2# du -h –max-depth=1 /usr/local/mysql/var du: cannot access `250Cmax-depth=1': No such file or directory 142M /usr/local/mysql/var...
此文被围观2061 分类: 数据库 标签:  ·····

启动mysql报错(starting mysql..manager of pid-file quit without updating...2013-07-26

昨天vps被人给登陆了,今天早上无法使用ssh远程登陆 最后不得不恢复到昨天的快照。 恢复好了,发现mysql启动出现:manager of pid-file quit without updating... 根据网上很多人提供的方法,kill掉所有的mysql进程,重新启动mysql发现一直停留在starting mysql... 最在在discuz论坛上看到这样一个帖子“求救,linux启动后mysql启动不了,启动mysql,一直停在starting mysql....” 其中有一个回复是检测磁盘是否满了, 用:du -sh 一看网站目录,已经19个G了,总共只有20个G,于是删除了一些不要的文件,回头不来看一下mysql已经正常了! 感谢网友们的讨论!...

本站使用ThinkPHP框架开发读图网主题,目前托管在阿里云,图片由读图网提供. 蜀ICP备12031064号

Copyright © 2011-2017adophper.com All Rights Reserved.