随笔分类 -  数据库

摘要:主键、外键和索引的区别?主键外键索引定义:唯一标识一条记录,不能有重复的,不允许为空表的外键是另一表的主键,外键可以有重复的,可以是空值该字段没有重复值,但可以有一个空值作用:用来保证数据完整性用来和其他表建立联系用的是提高查询排序的速度个数:主键只能有一个一个表可以有多个外键一个表可以有多个惟一索引设置索引若要设置外键,在参照表(pc表) 和被参照表(parts表)中,相对应的两个字段必须都设置索引(index)。对parts表:ALTER TABLE parts ADD INDEX idx_model (model);这句话的意思是,为parts表增加一个索引,索引建立在model字段上, 阅读全文
posted @ 2013-04-26 22:11 y0umer 阅读(4197) 评论(0) 推荐(0) 编辑
摘要:key_buffer 索引块是缓冲的并且被所有的线程共享。key_buffer_size是用于索引块的缓冲区大小,增加它可得到更好处理的索引(对所有读和多重写),到你能负担得起那样多。如果你使它太大,系统将开始换页并且真的变慢了。默认数值是8388600(8M),我的 MySQL主机有2GB内存,所以我把它改为402649088(400MB) max_connections 允许的同时客户的数量。增加该值增加 mysqld 要求的文件描述符的数量。这个数字应该增加,否则,你将经常看到 Too many connections 错误。 默认数值是100 max_allowed_packe... 阅读全文
posted @ 2011-09-21 17:24 y0umer 阅读(1497) 评论(0) 推荐(0) 编辑
摘要:工作之中经常遇到相似的sql语句需要执行,一般的情况下 会写sql1 sql2 然后各个执行,能否使用php里面的foreach循环执行sql语句呢看实例代码: $query[] = 'SELECT last_balance FROM '.DB_NAME_ROOMS.'.tbl_prize_balance'; $query[] = 'SELECT SUM(prize_money) FROM '.DB_NAME_ROOMS.'.tbl_prize_detail'; $query[] = 'SELECT SUM(prize_m 阅读全文
posted @ 2011-08-05 10:24 y0umer 阅读(403) 评论(0) 推荐(0) 编辑
摘要:专题:数据库存储过程的专题----http://tech.ccidnet.com/zt/guocheng/存储过程sql语句执行的时候要先编译,然后执行。存储过程就是编译好了的一些sql语句。应用程序需要用的时候直接调用就可以了,所以效率会高。存储过程介绍存储过程是由流控制和SQL语句书写的过程,这个过程经编译和优化后存储在数据库服务器中,应用程序使用时只要调用即可。在ORACLE中,若干个有联系的过程可以组合在一起构成程序包。使用存储过程有以下的优点:* 存储过程的能力大大增强了SQL语言的功能和灵活性。存储过程可以用流控制语句编写,有很强的灵活性,可以完成复杂的判断和较复杂的 运算。* 可 阅读全文
posted @ 2011-06-15 09:49 y0umer 阅读(385) 评论(0) 推荐(0) 编辑
摘要:一、MySQL修改密码方法总结 首先要说明一点的是:一般情况下,修改MySQL密码是需要有mysql里的root权限的,这样一般用户是无法更改密码的,除非请求管理员帮助修改。 方法一 使用phpMyAdmin (图形化管理MySql数据库的工具),这是最简单的,直接用SQL语句修改mysql数据库库的user表,不过别忘了使用PASSWORD函数,插入用户用Insert命令,修改用户用Update命令,删除用Delete命令。在本节后面有数据表user字段的详细介绍。 方法二 使用mysqladmin。输入 mysqladmin -u root -p oldpassword new... 阅读全文
posted @ 2011-06-12 08:42 y0umer 阅读(3067) 评论(0) 推荐(0) 编辑
摘要:MyISAM优点:速度快,磁盘空间占用少;某个库或表的磁盘占用情况既可以通过操作系统查相应的文件(夹)的大小得知,也可以通过SQL语句SHOW TABLE STATUS查得缺点:没有数据完整性机制,即不支持事务和外键InnoDB优点:支持事务和外键,数据完整性机制比较完备;可以用SHOW TABLE STATUS查得某个库或表的磁盘占用缺点:速度超慢,磁盘空间占用多;所有库都存于一个(通常情况)或数个文件中,无法通过操作系统了解某个库或表的占用空间BDB优点:支持事务,不支持外键,由于在事务支持的基础上,外键可以在数据库的客户端(可能是最终客户的服务器端,例如php)间接实现,所以数据完整性仍 阅读全文
posted @ 2011-04-19 17:58 y0umer 阅读(1955) 评论(0) 推荐(1) 编辑
摘要:昨天update的时候没有加where条件 导致数据库里面的全部数据更新这个操作 真是不应该 罪过啊 罪过啊凡是写关于更新或者删除的语句 记得一定要加条件不然的话 会导致全局数据变化 致命性的操作啊限制在指定条件范围内 还有字段选择 尽量选择 唯一性的字段也就是说是:主键,这样可以做到更精确 更到位的选择唯一性 阅读全文
posted @ 2011-04-12 09:10 y0umer 阅读(171) 评论(0) 推荐(0) 编辑
摘要:MySQL中concat函数使用方法:CONCAT(str1,str2,…) 返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。注意:如果所有参数均为非二进制字符串,则结果为非二进制字符串。如果自变量中含有任一二进制字符串,则结果为一个二进制字符串。一个数字参数被转化为与之相等的二进制字符串格式;若要避免这种情况,可使用显式类型 cast, 例如:SELECT CONCAT(CAST(int_col AS CHAR), char_col)MySQL的concat函数可以连接一个或者多个字符串,如mysql> select concat('10&# 阅读全文
posted @ 2011-03-28 09:25 y0umer 阅读(2480) 评论(0) 推荐(0) 编辑
摘要:UNIX时间戳转换为日期用函数FROM_UNIXTIME()select FROM_UNIXTIME(1156219870);日期转换为UNIX时间戳用函数UNIX_TIMES*****P()Select UNIX_TIMES*****P(’2006-11-04 12:23:00′);例:mysql查询当天的记录数:$sql=”select * from message Where DATE_FORMAT(FROM_UNIXTIME(chattime),’%Y-%m-%d’) = DATE_FORMAT(NOW(),’%Y-%m-%d’) order by id desc”; 阅读全文
posted @ 2011-03-26 00:27 y0umer 阅读(137) 评论(0) 推荐(0) 编辑
摘要:(一)连接 连接通常来自Web服务器,下面列出了一些与连接有关的参数,以及该如何设置它们。 1、max_connections 这是Web服务器允许的最大连接数,记住每个连接都要使用会话内存(关于会话内存,文章后面有涉及)。 2、max_packet_allowed 最大数据包大小,通常等于你需要在一个大块中返回的最大数据集的大小,如果你在使用远程mysqldump,那它的值需要更大。 3、aborted_connects 检查系统状态的计数器,确定其没有增长,如果数量增长说明客户端连接时遇到了错误。 4、thread_cache_size 入站连接会在MySQL中创建一个新... 阅读全文
posted @ 2011-03-26 00:26 y0umer 阅读(190) 评论(0) 推荐(0) 编辑
摘要://设置已存在表中字段为auto_incrementALTER TABLE tablename change id id int(2) not null auto_increment;//添加字段并设置主键ALTER TABLE tabelname ADD new_field_id int(5) unsigned default 0 not null auto_increment ,ADD primary key (new_field_id);//加主关键字的索引ALTER TABLE tablename ADD primary key(id);//增加字段:ALTER TABLE table 阅读全文
posted @ 2011-03-26 00:25 y0umer 阅读(505) 评论(0) 推荐(0) 编辑
摘要:select min(online) as onlinenum from tb_log_online where left(time,10)= '".substr($fromTime1,0,10)."'截取时间段的左前十位解决中文被截成乱码的问题以下是代码片段:function left(?$str, ?$len) { //解决中文被截成乱码的问题?$arr = str_split(?$str);?$i = 0;foreach (?$arr as ?$chr) {if (ord(?$chr) > 128)?$add = ?$add ? 0 : 1;?$ 阅读全文
posted @ 2011-03-26 00:24 y0umer 阅读(156) 评论(0) 推荐(0) 编辑
摘要:shell 常用命令Shell基本命令几个基本的shell命令,用ssh管理主机必备。1.ls列出目录下的文件,不同类型的文件颜色不同,例如蓝色是文件夹,白色是文件[root@restoretmp steph]# lsfile.html public_htmltest[root@restoretmp steph]#参数:ls -a 列出所有文件,包括隐藏文件[root@restoretmp steph]# ls -a....bash_logout.bash_profile.bashrcfile.html public_htmltest[root@restoretmp steph]#ls -l 阅读全文
posted @ 2011-03-26 00:23 y0umer 阅读(367) 评论(0) 推荐(0) 编辑
摘要:SQL常用命令使用方法:(1) 数据记录筛选:sql="select * from 数据表 where 字段名=字段值 order by 字段名 [desc]"sql="select * from 数据表 where 字段名 like /'%字段值%/' order by 字段名 [desc]"sql="select top 10 * from 数据表 where 字段名 order by 字段名 [desc]"sql="select * from 数据表 where 字段名 in (/'值1/ 阅读全文
posted @ 2011-03-26 00:21 y0umer 阅读(187) 评论(0) 推荐(0) 编辑
摘要:1、使用索引来更快地遍历表。 缺省情况下建立的索引是非群集索引,但有时它并不是最佳的。在非群集索引下,数据在物理上随机存放在数据页上。合理的索引设计要建立在对各种查询的分析和预测上。一般来说: a.有大量重复值、且经常有范围查询( > ,< ,> =,< =)和order by、group by发生的列,可考虑建立群集索引; b.经常同时存取多列,且每列都含有重复值可考虑建立组合索引; c.组合索引要尽量使关键查询形成索引覆盖,其前导列一定是使用最频繁的列。索引虽有助于提高性能但不是索引越多越好,恰好相反过多的索引会导致系统低效。用户在表中每加进一个索引,维护索引集合就 阅读全文
posted @ 2011-03-26 00:20 y0umer 阅读(176) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示