
MySQL
文章平均质量分 55
longyulu
这个作者很懒,什么都没留下…
展开
-
事务隔离级别&悲观锁乐观锁
悲观锁和乐观锁——《POJOs in Action》读书笔记(一)1 事务隔离事务隔离是数据库提供的功能。SQL Server通过SET TRANSACTION ISOLATION LEVEL语句设置事务隔离级别:SET TRANSACTION ISOLATION LEVEL { READ UNCOMMITTED | READ COMMITTE转载 2014-08-22 11:23:18 · 1899 阅读 · 0 评论 -
数据库设计技巧
下述十四个技巧,是许多人在大量的数据库分析与设计实践中,逐步总结出来的。对于这些经验的运用,读者不能生帮硬套,死记硬背,而要消化理解,实事求是,灵活掌握。并逐步做到:在应用中发展,在发展中应用。 1. 原始单据与实体之间的关系 可以是一对一、一对多、多对多的关系。在一般情况下,它们是一对一的关系:即一张原始单据对应且只对应一个实体。在特殊情况下,它们可能是一转载 2013-08-14 14:20:03 · 505 阅读 · 0 评论 -
MySQL开发规范和原则大全
一、 表设计库名、表名、字段名必须使用小写字母,“_”分割。库名、表名、字段名必须不超过12个字符。库名、表名、字段名见名知意,建议使用名词而不是动词。建议使用InnoDB存储引擎。存储精确浮点数必须使用DECIMAL替代FLOAT和DOUBLE。建议使用UNSIGNED存储非负数值。建议使用INT UNSIGNED存储IPV4。整形定义中不添加长度,比如使用INT,而不是INT(4)。使转载 2013-06-20 10:40:24 · 1251 阅读 · 0 评论 -
GROUP_CONCAT函数使用说明
GROUP_CONCAT()是MySQL数据库提供的一个函数,通常跟GROUP BY一起用,具体可参考MySQL官方文挡:http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html#function_group-concat。语法:GROUP_CONCAT([DISTINCT] expr [,expr ...] [ORDER转载 2013-06-14 11:00:38 · 706 阅读 · 0 评论 -
MySQL 日期类型详解
MySQL 日期类型:日期格式、所占存储空间、日期范围 比较。 日期类型 存储空间 日期格式 日期范围 ------------ --------- --------------------- ----------------------------------------- datetime 8 bytes转载 2013-06-14 10:54:36 · 712 阅读 · 0 评论 -
读书笔记--高性能MySQL
MySQL服务器架构逻辑图 共享锁 排它锁解决并发要使用锁,分为共享锁(shared lock)和排它锁(exclusive lock),也就是读锁(read lock)和写锁(write lock)。读锁是共享的,多个用户可以同时读取同一资源而互不干扰;写锁是排他锁,阻塞其他的写锁和读锁, 锁粒度 为了更好的实现并发,应该只锁定需要修改的数原创 2013-06-07 14:37:12 · 644 阅读 · 0 评论 -
MySQL的timestamp与时区问题
MySQL的timestamp类型时间范围between '1970-01-01 00:00:01' and '2038-01-19 03:14:07',超出这个范围则值记录为'0000-00-00 00:00:00',该类型的一个重要特点就是保存的时间与时区密切相关,上述所说的时间范围是UTC(Universal Time Coordinated)标准,指的是经度0度上的标准时间,我国日常生活中转载 2013-05-30 19:20:55 · 6034 阅读 · 0 评论 -
MySQL事务隔离级别详解
SQL标准定义了4类隔离级别,包括了一些具体规则,用来限定事务内外的哪些改变是可见的,哪些是不可见的。低级别的隔离级一般支持更高的并发处理,并拥有更低的系统开销。Read Uncommitted(读取未提交内容) 在该隔离级别,所有事务都可以看到其他未提交事务的执行结果。本隔离级别很少用于实际应用,因为它的性能也不比其他级别好多少。读取未提交的数据,也被称之为脏读(转载 2013-05-13 17:36:47 · 600 阅读 · 0 评论 -
Mysql的索引类型
一、MySQL索引类型mysql里目前只支持4种索引分别是:full-text,b-tree,hash,r-treeb-tree索引应该是mysql里最广泛的索引的了,除了archive基本所有的存储引擎都支持它.1. full-text索引full-text在mysql里仅有myisam支持它,而且支持full-text的字段只有char、varchar、te转载 2013-04-25 17:20:01 · 2490 阅读 · 1 评论 -
Mysql的不常见功能
实验的数据表如下定义:mysql> desc tbl_name;+-------+--------------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra |+-------+--------------+------+-----+---------+-------转载 2013-01-25 16:54:28 · 556 阅读 · 0 评论 -
Mysql的varchar排序按照数字顺序
自己建表的时候,把一个字段类型创建为varchar(2) ,其实应该建为int(2)的。因为我只允许输出数字。这本来也没什么,无非就是占点空间,懒得改了。但是今天在后台发现排序有问题。于是,没办法,改之。下面简单说一下MySQL的varchar排序问题,引以为戒。下面,我从数据库里面以server_id排一下序,大家来看一下排序后的结果:select server_id from转载 2013-01-25 16:49:10 · 7165 阅读 · 0 评论 -
MySQL的create table as 与 like区别
对于mysql的复制相同表结构方法,有create table as 和create table like 两种,区别是什么呢? create table t2 as select * from t1 where 1=2 ; 或者 limit 0;as创建出来的t2表(新表)缺少t1表(源表)的索引信息,只有表结构相同,没有索引。 create table t2 lik原创 2013-01-10 10:16:59 · 18864 阅读 · 1 评论 -
MySQL连表更新和删除的差别
连表更新和删除sql要注意表连接更新和表连接删除时使用方式的差距CREATE TABLE `test1` ( `id` int(11) NOT NULL, `name` varchar(16) DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;create table test原创 2012-12-30 20:58:42 · 388 阅读 · 0 评论 -
Mysql不支持minus
Mysql不支持minus,可以用left join替代 where条件中left join 的后边的表的列为空(这个列是on中的列)原创 2012-12-19 19:03:32 · 1535 阅读 · 0 评论 -
MySQL查看运行情况命令
查看当前正在进行的进程,对于有锁表等情况的排查很有用处。一般情况下,打开MySQL的慢查询记录同样有利于排查。show PROCESSLIST;显示服务器状态show STATUS;show STATUS like '%sent%'查看配置参数show VARIABLES;show VARIABLES like '%key%'显示原创 2012-12-12 17:39:57 · 553 阅读 · 0 评论 -
show processlist
http://www.cnblogs.com/JulyZhang/archive/2011/01/28/1947165.htmlSHOW PROCESSLIST显示哪些线程正在运行。您也可以使用mysqladmin processlist语句得到此信息。如果您有SUPER权限,您可以看到所有线程。否则,您只能看到您自己的线程(也就是,与您正在使用的MySQL账户相关的线程)转载 2012-12-12 17:29:30 · 579 阅读 · 0 评论 -
SQLServer经典SQL大全
经典SQL语句大全一、基础1、说明:创建数据库CREATE DATABASE database-name2、说明:删除数据库drop database dbname3、说明:备份sql server--- 创建 备份数据的 deviceUSE masterEXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7bac转载 2012-11-05 17:41:27 · 525 阅读 · 0 评论 -
查找和删除重复数据
1、查找重复记录1.查某一列(或多列)的重复值(只可以查出重复记录的值,不能查出整个记录的信息)例如:查找stuid,stuname重复的记录select stuid,stuname from stuinfogroup by stuid,stunamehaving(count(*))>12.查某一列有重复值的记录(此方法查出的是所有重复的记录,如果有两条记录重复的,就查原创 2012-11-05 17:20:00 · 698 阅读 · 0 评论 -
MySQL中的int(M) unsigned zerofill
MySQL支持int(M) `id` int(4) unsigned zerofill NOT NULL在该类型关键字后面的括号内指定整数值的显示宽度(例如,INT(4))。必须结合可选扩展属性ZEROFILL使用时, 默认补充的空格用零代替。而且选择属性zerofill后,就同时是unsigned的了。(加入负值会报warnings或者默认转化成0)如果不结原创 2012-10-31 18:18:29 · 7452 阅读 · 0 评论 -
MySQL的left join中on与where的区别
转载地址:http://www.oschina.net/question/89964_65912?from=20120826关于 “A LEFT JOIN B ON 条件表达式” 的一点提醒ON 条件(“A LEFT JOIN B ON 条件表达式”中的ON)用来决定如何从 B 表中检索数据行,即使on中包含有A表中的列的限制条件,也不会过滤A的任何数据(A的数据只会通过w转载 2012-08-30 13:25:37 · 10553 阅读 · 2 评论 -
MySQL的varchar长度问题
http://dinglin.iteye.com/blog/914276http://www.cnblogs.com/fakis/archive/2011/03/07/1976532.html如果某一项中设置的是varchar(50)那么对英文当然是50那么对中文呢utf-8的中文占3个字节那么,这个varchar(50)是不是只能存16个汉字了?转载 2012-08-14 11:14:29 · 10002 阅读 · 1 评论 -
Mysql数据中特殊符号问题
导出数据库中的数据到文件中,并读取文件,通过split分割的时候,需要注意到数据本身中是否含有换行和制表符。在sql中要使用replace函数去掉 \t \r制表符是 \t换行java是 \r\n或 \n mysql中是 \r\n原创 2012-07-19 17:40:14 · 1762 阅读 · 0 评论 -
Mysql性能优化
转发 http://www.iteye.com/topic/1114134原创 2012-05-23 08:51:14 · 110 阅读 · 0 评论 -
MySQL的索引
转载 http://bingwong.iteye.com/blog/1123511 索引及语句优化http://blog.csdn.net/xiao7ng/article/details/4591396 use | ignore | froce index sql_cache sql_no_cache sql_buffer_resulthttp...原创 2012-05-05 09:25:31 · 112 阅读 · 0 评论 -
MySQl锁原理
转载mysql锁 http://cloud21.iteye.com/blog/548354 存储引擎区别 http://fangyong2006.iteye.com/blog/1123491 myisam锁 http://hfhwan.iteye.com/blog/375610 完整的myisam锁 http://xgbjmxn.iteye.com/blog...原创 2012-04-28 22:38:41 · 116 阅读 · 0 评论 -
MySQL的日期时间类型和函数
mysql常用的日期时间函数timestamp占4字节(1970-2037)datetime占8字节(1000-9999) timestamp和 unix timestamp同样表示1970-01-01 00:00:00 GMT到现在的毫秒数。但前者是以时间格式显示,后者以数字显示。 当前时间日期select CURRENT_DATE()select CURRENT_TI原创 2012-03-22 14:27:00 · 1385 阅读 · 0 评论 -
数据库基础
1. SQL语言类别:包括数据定义(DDL)、数据操纵(Data Manipulation Language),数据控制(Data Control Language)数据定义:Create Table,Alter Table,Drop Table, Craete/Drop Index等数据操纵:Select ,insert,update,delete,数据控制:grant,revo转载 2012-03-13 14:27:11 · 358 阅读 · 0 评论 -
MySQL索引
转载地址:http://www.mianwww.com/html/2011/12/12472.html 1,创建索引对于查询占主要的应用来说,索引显得尤为重要。很多时候性能问题很简单的就是因为我们忘了添加索引而造成的,或者说没有添加更为有效的索引导致。如果不加索引的话,那么查找任何哪怕只是一条特定的数据都会进行一次全表扫描,如果一张表的数据量很大而符合条件的结果又很少,那么不加索引会引转载 2012-03-13 14:03:38 · 405 阅读 · 0 评论 -
读书笔记——PHP and MySQL Web Development(4th)—MySQL部分
1. 模式: 数据库整套表格的完整设计(不包括数据),可以使用实体关系图描述,或者文本格式表示。文本格式表示: Customers( CustomerID, Name, City, Address)Orders ( OrderID,CustomerID, Amount, Date )下划线表示主键,斜体表示外键。 2. 数据库设计:避免保存冗余数据(1.首先是空原创 2012-03-08 19:24:47 · 597 阅读 · 0 评论 -
MySQL数据类型格式及长度
数值类型 MySQL 的数值数据类型可以大致划分为两个类别,一个是整数,另一个是浮点数或小数。许多不同的子类型对这些类别中的每一个都是可用的,每个子类型支持不同大小的数据,并且 MySQL 允许我们指定数值字段中的值是否有正负之分或者用零填补。 表列出了各种数值类型以及它们的允许范围和占用的内存空间。 类型转载 2012-03-06 21:31:28 · 14860 阅读 · 0 评论 -
mysql高级知识
2. mysql的like查询如何区分大小写where binary col2 like 'A%'或者在建立表的时候就对该字段加上binary col2 varchar(10) binarymysql可以替代like的方法有 INSTR(str,substr) 和 regexp 3.mysql的事务解释 简单明了 http://taoxingti转载 2012-03-05 10:38:26 · 2514 阅读 · 0 评论 -
读书笔记——SQL学习指南(第2版)
1.dual表mysql中可以使用select now();但是oracle中要求select语句必须有from 和表名,这时候就要使用dual表。mysql虽然不要求这样,但是为了兼容,mysql也提供了dual表。dual表只包含一个名为dummy的列,并且只会有一个数据行。 2.字符型数据char为定长,不足部分用空格补齐;varchar为可变长度。 但是使用leng原创 2012-03-04 15:04:14 · 931 阅读 · 0 评论 -
读书笔记——MySQL5.1参考手册
1. 规则定义:mysql(MySQL命令行客户端程序),mysqld(MySQL服务器执行程序)。shell>指明命令将从注册外壳程序中执行,mysql>指明命令将从mysql客户端程序中执行:shell> type a shell command here(在此输入shell命令)mysql> type a mysql statement here(在此输入mysql语句)原创 2012-03-02 11:34:52 · 420 阅读 · 0 评论 -
读书笔记——MySQL必知必会笔记
MySQL必知必会笔记——基础入门级 数据库和数据库管理系统的差别,一个是DB,一个是DBMS。SQL的全称 Structured Query Language。命令连接数据库: mysql -u username -ppassword(不加空格可直接跟密码) -h host -p portshow usersuse databasename show data原创 2012-02-25 15:16:48 · 565 阅读 · 0 评论 -
MySQL更改表列定义
转载:http://blog.csdn.net/ws84643557/article/details/6939846 ALTER TABLE:添加,修改,删除表的列,约束等表的定义。查看列:desc 表名;修改表名:alter table t_book rename to bbb; 添加列:alter table 表名 add column 列名 varchar(30);转载 2012-02-23 10:57:46 · 505 阅读 · 0 评论 -
读书笔记——SQL CookBook
SQL CookBook——很多各样的例子 1. coalesceCOALESCE ( expression [ ,...n ] )返回第一个非空表达式,如果所有表达式全为null,则返回null。 2. group by中使用count时关于null列如果group by中对某列a使用count(a)as num, 那么对于所有a为空的行,不计算到num中。如何才原创 2012-02-15 16:50:39 · 567 阅读 · 0 评论 -
mysql必知必会
数据库指的是DB即database,而DBMS是数据库管理系统,二者不是同一概念。SQL的全称是Structured Query Language 结构化查询语言。mysql -u username -p password -h hostname -P 端口号show databases;使用哪个数据库 use database名;show tables; show原创 2011-12-28 16:27:49 · 120 阅读 · 0 评论 -
MySQL连表更新和删除的差别
1、连表更新和删除可以使用其他表(或一个查询视图)更新、删除本表,单要注意表连接更新和表连接删除时使用方式的差距[sql] view plaincopyCREATE TABLE `test1` ( `id` int(11) NOT NULL, `name` varchar(16) DEFAULT NULL,原创 2011-12-28 15:35:29 · 1454 阅读 · 0 评论