随笔分类 - 数据库
摘要:如果忘记了MySQL的安装目录,怎么快速找到呢?方法或许很多,作者觉得这种最方便了 环境:windows+mysql+navicat 方法:进入mysql命令行输入:show variables like "%char%"; 结果如下: 红色框框就是安装目录 如果忘记了MySQL的安装目录,怎么快速
阅读全文
摘要:关于mysql的用户管理,笔记 1、创建新用户 通过root用户登录之后创建 >> grant all privileges on *.* to testuser@localhost identified by "123456" ; // 创建新用户,用户名为testuser,密码为123456 ;
阅读全文
摘要:数据表自增将以10为间隔自增 如果以上方法还不生效,或者重启mysql后,又变回来了。那肯定是在my.cnf里面设置了全局变量。这个必须到配置文件里面去修改了;这种修改永久有效。而且无法通过上面的操作再次被修改。 用vi编辑器打开配置文件,默认位置 #vi /etc/my.cnf 找到 auto_i
阅读全文
摘要:在MySQL的InnoDB中,预设的Tansaction isolation level 为REPEATABLE READ(可重读) 在SELECT 的读取锁定主要分为两种方式: SELECT ... LOCK IN SHARE MODE SELECT ... FOR UPDATE 这两种方式在事务
阅读全文
摘要:用两个mysql函数FROM_UNIXTIME( ordertime )将日期格式转换成时间戳month( FROM_UNIXTIME( ordertime ) ) 获取当前日期的月select month( FROM_UNIXTIME( ordertime ) ) , count( commodi...
阅读全文
摘要:linux 命令行查看mysql的库字符集是utf8,查询某个表时,仍然是显示不了中文,之后使用了命令 mysql>set names utf8;就可以正常显示中文了。如何才更好的使mysql支持显示中文呢?第一,创建table的时候就使用utf8编码;create table entries2 ( id int auto_increment, title text, content text, posted_on datetime, primary key (id) ) character set = ...
阅读全文
摘要:只修改列的数据类型的方法:通常可以写成 alter table 表名 modify column 列名 新的列的类型例如:student表中列sname的类型是char(20),现在要修改为varchar(20),SQL语句如下 alter table student modify column sname varchar(20);同时修改列名和列的数据类型的方法:通常可以写成 alter table 表名 change column 旧列名 新列名 新的列类型例如:student表中列sname的类型是char(20),现在要修改为stuname varchar(20),SQL语句如下 al
阅读全文
摘要:select * from table where id=1 and uid=2 and (status=2 or status=3 or status=4);
阅读全文
摘要:一、导出数据库用mysqldump命令(注意mysql的安装路径,即此命令的路径):1、导出数据和表结构:mysqldump -u用户名 -p密码 数据库名 > 数据库名.sql#/usr/local/mysql/bin/ mysqldump -uroot -p abc > abc.sql敲回车后会提示输入密码2、只导出表结构mysqldump -u用户名 -p密码 -d 数据库名 > 数据库名.sql#/usr/local/mysql/bin/ mysqldump -uroot -p -d abc > abc.sql注:/usr/local/mysql/bin/ --
阅读全文
摘要:最近服务维护的公司的DB服务器,总是会出现问题,感觉需要优化一下了,登陆上去,发现慢查询日志都没有开,真是惭愧, 故果断加上慢查询日志, 经过分析sql记录,发现问题很多,开发人员很多没有对sql优化,由于现在业务量较少,而且服务器性能配置较高,所以看不出问题。 加 上慢查询日志好后,瞬间日志暴增,
阅读全文
摘要:代码示例:in(逗号分隔开的值列表)释:是否存在于值列表中---------------------示例:select * from test where id in(3,1,5) order by find_in_set(id,'3,1,5'); select * from test where id in(3,1,5) order by substring_index('3,1,2',id,1);---------------------------对于in查询并且按照此顺序来显示我们可以使用这种方法:原语句:select * from table wher
阅读全文
摘要:mysql replace实例说明: UPDATE tb1 SET f1=REPLACE(f1, 'abc', 'def'); 释:表tb1中字段f1中为abc的值更新为def。一般用于某字段中值存在不合适的字段,需要批量改变一下,可以用到update table set 字段=replace('字
阅读全文
摘要:处理字符串函数 FIND_IN_SET(str,strlist) 查询某值是否存在于某个字符集中 () 例:where find_in_set('34','34,2,3,4,5,3'); 返回0则不存在; 日期时间函数 now() 获取当前日期+时间格式。 CURDATE() / CURRENT_D
阅读全文
摘要:substring_index(某个字段,以其分割,第几个分割点之前的值);
阅读全文
摘要:使用distinct 和group by都可以实现数据去重。select distinct 字段group by 一般放在where条件后
阅读全文
摘要:使用mysql migration toolkit工具来进行迁移。(需要安装jdk6 java的安装包)发现数据量大的表却没能迁过来。软件使用比较容易,配置下源数据库信息,和目标数据库信息就可以进行了。中途修改了一些mysql创建表结构的错误语句,只实现了表结构和部分表数据的迁移,而且转过来的表全部都有外键关系,无法更新和删除。接着使用了sqlways迁移工具,还是不能解决。最后使用Navicat for MySQL工具实现了数据库的迁移。先使用此工具连接好本地mysql,获取当前要操作的数据库,选中表,选择 ‘设计表’,点击 ‘外键’,全部删除。去掉外键关联,就可以导数据了,点击 ‘导入向导
阅读全文

浙公网安备 33010602011771号