随笔分类 - mysql
摘要:一、数据库结构的设计 如果不能设计一个合理的数据库模型,不仅会增加客户端和服务器段程序的编程和维护的难度,而且将会影响系统实际运行的性能。所以,在一个系统开始实施之前,完备的数据库模型的设计是必须的。 在一个系统分析、设计阶段,因为数据量较小,负荷较低。我们往往只注意到功能的实现,而很难注意到性能的薄弱之处,等到系统投入实际运行一段时间后,才发现系统的性能在降低,这时再来考虑提高系统性能则要花费更多的人力物力,而整个系统也不可避免的形成了一个打补丁工程。 所以在考虑整个系统的流程的时候,我们必须要考虑,在高并发大数据量的访问情况下,我们的系统会不会出现极端的情况。(例如:对外统计系统在7月16
阅读全文
摘要:mysql中count(*)和count(column)使用是有区别的:count(*)对行的数目进行计算,包含NULLcount(column)对特定的列的值具有的行数进行计算,不包含NULL值。count()还有一种使用方式,count(1)这个用法和count(*)的结果是一样的。
阅读全文
摘要:我想把数组打乱随机取些值,于是用PHP的shuffl()打乱数组,当然,array_rand()也是可以随机取数组的,但是我想到另一个更高效的办法,是不是能用sql直接随机数据?当然可以!mysql是这样实现的:select * from tablename order by rand() limit 10说明:rand()返回在范围0到1.0内的随机浮点值sqlserver是这样实现的:select top 10 * from tableName order by NewID()说明:NewID()在扫描每条记录的时候都生成一个值, 而生成的值是随机的, 没有大小写顺序. 所以最终结果再按这
阅读全文
摘要:Shell脚本是我们写不同类型命令的一种脚本,这些命令在这一个文件中就可以执行。我们也可以逐一敲入命令手动执行。如果我们要使用shell脚本就必须在一开始把这些命令写到一个文本文件中,以后就可以随意反复运行这些命令了。我首先要在本文带给你的是完整脚本。后面会对该脚本做说明。我假定你已经知道shell scripting、mysqldump和crontab。适用操作系统:任何Linux或UNIX。主脚本(用于备份mysql数据库):该Shell脚本可以自动备份数据库。只要复制粘贴本脚本到文本编辑器中,输入数据库用户名、密码以及数据库名即可。我备份数据库使用的是mysqlump命令。后面会对每行脚
阅读全文
摘要:#rpm –qa|grep –i mysql查看已安装的mysql版本如果有已存在的mysql版本则删除安装服务端和客户端,去Oracle官网下载:# rpm -ivh MySQL-server-5.5.28-1.linux2.6.i386.rpm# rpm -ivh MySQL-client-5.5.28-1.linux2.6.i386.rpm安装后会出现以下信息,提示不要忘记设计root用户的密码以及其他信息。之后查看mysql的服务是否启动#netstat -nat如看到有3306的端口号,就说明服务启动了,默认的端口是3306 ,如果没有启动的话 ,就打开服务 #service m
阅读全文
摘要:select gid, username from users where FIND_IN_SET(8,gid); //查询gid里含有数字8的记录,gid是varchar ,数据格式:"1,12,8,18,5"select gid, username from users where !FIND_IN_SET(8,gid); //查询gid里不含有数字8的记录,gid是varchar ,数据格式:"1,12,8,18,5"
阅读全文
摘要:mysql查询今天,昨天,近7天,近30天,本月,上一月数据的方法分析总结:话说有一文章表article,存储文章的添加文章的时间是add_time字段,该字段为int(5)类型的,现需要查询今天添加的文章总数并且按照时间从大到小排序,则查询语句如下:1select*from`article`wheredate_format(from_UNIXTIME(`add_time`),'%Y-%m-%d') = date_format(now(),'%Y-%m-%d');或者:1select*from`article`whereto_days(date_format(f
阅读全文
摘要:我们在windows下安装mysql时会出现Access denied for user 'root'@localhost'(using password:No)的问题,这个问题是因为你的机器上之前安装过mysql,或者这 一次安装配置了新密码,进入应用的最后一步时候由于某些原因卡出了或者由于服务未启动等原因导致无法配置成功,最终结果是,配置未成功,密码设置已经保存 进去了。这样我们调整好了服务等原因后,进行重新配置的时候,会发现在设置密码的时候,多了一个旧密码输入框。其实这也没什么,在密码知道的情况下,输入 旧密码重新设置密码并不难,而问题关键在于即使旧密码正确,你依
阅读全文
摘要:sql语言中有没有类似C语言中的switch case的语句?? 没有,用case when 来代替就行了. 例如,下面的语句显示中文年月 select getdate() as 日期,case month(getdate()) when 11 then '十一' when 12 then '十二' else substring('一二三四五六七八九十', month(getdate()),1) end+'月' as 月份=================================================CASE可能
阅读全文
摘要:root@DB-02 ~]# mysql -u root-bash: mysql: command not found原因:这是由于系统默认会查找/usr/bin下的命令,如果这个命令不在这个目录下,当然会找不到命令,我们需要做的就是映射一个链接到/usr/bin目录下,相当于建立一个链接文件。首先得知道mysql命令或mysqladmin命令的完整路径,比如mysql的路径是:/usr/local/mysql/bin/mysql,我们则可以这样执行命令:# ln -s /usr/local/mysql/bin/mysql /usr/bin
阅读全文
摘要:插入数据库时出现这种错误的解决办法:MySQL Server Error:The 'InnoDB' feature is disabled; you need MySQL built with 'InnoDB' to have it working在mysql中输入SHOW variables like "have_%"查看,显示如下:红色部分表示我的MYSQL并不支持innodb。引用InnoDB和MyISAM是在使用MySQL最常用的两个表类型,各有优缺点,视具体应用而定。下面是已知的两者之间的差别,仅供参考。1.InnoDB不支持FUL
阅读全文
摘要:MySQL作为当前最为流行的免费数据库服务引擎,已经风靡了很长一段时间,不过也许也有人对于MySQL的内部环境不很了解,尤其那些针对并发性处理的机制。今天,我们先了解一下MySQL中数据表的分类,以及它们的一些简单性质。 截至目前,MySQL一共向用户提供了包括DBD、HEAP、ISAM、MERGE、MyIAS、InnoDB以及Gemeni这7种表。其中DBD、InnoDB属于事务安全类表,而其他属于事务非安全类表。DBD Berkeley DB(DBD)表是支持事务处理的表,由Sleepycat软件公司开发。它提供MySQL用户期待已久的功能--事务控制。事务控制在任何数据库系统中都是一个极
阅读全文
摘要:如果数据表tbl的某字段name的字符编码是latin1_swedish_ciselect * from `tbl` order by birary(name) asc ;如果数据表tbl的某字段name的字符编码是utf8_general_ciSELECT name FROM `tbl` WHERE 1 ORDER BY CONVERT( name USING gbk ) COLLATE gbk_chinese_ci ASC===================$orderby="convert(`group` USING gbk) COLLATE gbk_chinese_ci,d
阅读全文
摘要:如果你不知道什么是位运算的话, 那么请你先去看看基础的C语言教程吧。 与运算 a & b , 或运算 a | b , 异或运算 a ^ b , 或者 你也可以将 与运算理解为 + 法 例如 1|2 = 3 (1+2 = 3) 1|2|4 = 7 (1+2+4 = 7) 将 异或运算理解为 - 法 例如 3^2 = 1 (3-2 = 1) 3^1 = 2 (3-1 = 2) 最后将 与运算 作为判断 例如 3&2 = 1 (3 = 1 + 2, 由 1和2组成 ,所以判断3&2 = 1 ) 3&4 = 0 ( 3 没有由 4组成,所以判断3&4 = 0)
阅读全文
摘要:CREATETABLEt1(yearYEAR(4),monthINT(2)UNSIGNEDZEROFILL,dayINT(2)UNSIGNEDZEROFILL);INSERTINTOt1VALUES(2000,1,1),(2000,1,20),(2000,1,30),(2000,2,2),(2000,2,3),(2000,2,3);示例表中含有代表用户访问网页的年-月-日值。可以使用以下查询来确定每个月的访问天数:SELECTyear,month,BIT_COUNT(BIT_OR(1<<day))ASdaysFROMt1GROUPBYyear,month;将返回:+------+-
阅读全文
摘要:在mysql教程中char与varchar的区别呢,都是用来存储字符串的,只是他们的保存方式不一样罢了,char有固定的长度,而varchar属于可变长的字符类型。char与varchar的区别 char (13)长度固定, 如'www.jb51.net' 存储需要空间 12个字符 varchar(13) 可变长 如'www.jb51.net' 需要存储空间 13字符, 从上面可以看得出来char 长度是固定的,不管你存储的数据是多少他都会都固定的长度。而varchar则处可变长度但他要在总长度上加1字符,这个用来存储位置。所以实际应用中用户可以根据自己的数据类
阅读全文
摘要:MySQL 时区默认是服务器的时区。可以通过以下命令查看SQL代码mysql> show variables like '%time_zone%'; +------------------+--------+ | Variable_name| Value| +------------------+--------+ | system_time_zone | CST|| time_zone| SYSTEM |+------------------+--------+ 2 rows in set (0.00 sec) 可以通过修改my.cnf在 [mysqld] 之下加def
阅读全文
摘要:总结一下对mysql表结构的修改操作,包括对字段及索引的修改操作:添加字段:alter table `user_movement_log` Add column GatewayId int not null default 0 AFTER `Regionid` (在哪个字段后面添加)删除字段:alter table `user_movement_log` drop column Gatewayid调整字段顺序:ALTER TABLE `user_movement_log` CHANGE `GatewayId` `GatewayId` int not null default 0 AFTER R
阅读全文
摘要:MySQL的列类型主要有三种:数字、字串和日期。mysql官方说明文档: http://dev.mysql.com/doc/refman/5.1/zh/data-types.html 下面来详细的说明,不一定准确不一定完整,请多包含或者提出您的建议,我很乐意倾听,呵呵.数字列类型 int、bigint、smallint、tinyint 数字列类型用于储存各种数字数据,如价格、年龄或者数量。数字列类型主要分为两种:整数型和浮点型。所有的数字列类型都允许有两个选项:UNSIGNED和ZEROFILL。选择UNSIGNED的列不允许有负数,选择了ZEROFILL的列会为数值添加零。下面是MySQL.
阅读全文
摘要:windows下:cmd导入sql文件的方法首先cd到sql文件所在的目录,然后mysql -uroot -p123 testwordpress.sql如果出现乱码,可以在dd.sql(或其他sql文件)后面跟上--default-character-set = utf8(设置默认的与表对应的字符集)如:mysql -u root -p123789456 -h 192.168.0.200 --default-character-set=utf8seagmwordpress.sql
阅读全文

浙公网安备 33010602011771号