一、命令
SHOW TABLE STATUS FROM database_name #显示数据库各个表的信息,包括存储引擎的类型
select @@tx_isolation; #查看当前会话隔离级别
select @@global.tx_isolation; # 查看系统当前隔离级别
set session transaction isolatin level repeatable read; #设置当前会话隔离级别
set global transaction isolation level repeatable read; #设置系统当前隔离级别
ALTER TABLE 表名 RENAME TO 新表名; #修改表名
set autocommit=0; #事务非自动提交。1为自动提交
set autocommit=0,指事务非自动提交,自此句执行以后,每个SQL语句或者语句块所在的事务都需要显示"commit"才能提交事务。
start transaction 指的是启动一个事务。
在自动提交方式下,发不发起start transaction,效果一样,因为语句结束会自动commit.
但是在非自动提交模式下,发起了start transation,则在此语句之前的sql语句会隐式提交一个事务。
二 、手册
5.1手册: http://dev.mysql.com/doc/refman/5.1/zh/index.html
三、错误码
1064 :语法错误,如某个命令写错
四、语句
status varchar(11) NOT NULL
SELECT * FROM t_doc_task WHERE STATUS='2' //015 快
SELECT * FROM t_doc_task WHERE STATUS=2 //016
limit:
select * from table limit m,n
其中m是指记录开始的index,从0开始,表示第一条记录
n是指从第m+1条开始,取n条。
select * from tablename limit 2,4
即取出第3条至第6条,4条记录
五、函数
createTime datetime类型,如:2013-06-20 13:32:37
查找某一天的数据:
SELECT * FROM attachment WHERE SUBSTRING(createTime,1,10) = '2013-06-20'
六、绿色社区版启动
6.1、启动:
G:\tools\mysql-5.6.14-winx64\bin>mysqld
2013-11-19 23:34:50 0 [Warning] TIMESTAMP with implicit DEFAULT value is depreca
ted. Please use --explicit_defaults_for_timestamp server option (see documentati
on for more details).
6.2、修改密码:
I:\tools\mysql-5.6.14-winx64\bin>mysqladmin -u root -p password
Enter password:
New password: ******
Confirm new password: ******
七、sql优化
a) 数字类型:分为整数数据类型和浮点数据类型,它们之间的区别是取值范围不同,存储空间也各不相同
TINYINT:1字节 非常小的正整数,带符号:-128~127,不带符号:0~255
SMALLINT:2字节 小整数,带符号:-32768~32767,不带符号:0~65535
MEDIUMINT:3字节 中等大小的整数,带符号:-8388608~8388607,不带符号:0~16777215
INT:4字节 标准整数,带符号:-2147483648~2147483647,不带符号:0~4294967295
BIGINT:8字节 大整数,带符号:-9223372036854775808~9233372036854775807,不带符 号:0~18446744073709551615
对于数据量比较大的库,应该详细区分TINYINT/INT/BIGINT(经常用到的类型),为了节省存储空间和提高数据库处理效率,
应根据应用数据的取值范围来选择一个最适合的数据列类型。
FLOAT(M,D):4字节 单精度浮点数,最小非零值:+-1.175494351E-38,最大非零值:+-3.402823466E+38
DOUBLE(M,D):8字节 双精度浮点数,最小非零值:+-2.2250738585072014E-308,最大非零值:+-1.7976931348623157E+308
DECIMAL(M,D):M+2字节 以字符串形式表示的浮点数,它的取值范围可变,由M和D的值决定。
对于浮点数据列,存入的数值会被该列定义的小数位进行四舍五入,但DECIMAL 与FLOAT和DOUBLE的区别是:DECIMAL类型的
值是以字符串的形式被储存起来的,它的小数位数是固定的。它的优点是,不会象FLOAT和DOUBLE类型数据列那样进行四舍
五入而产生误差,所以很适合用于财务计算;而它的缺点是:由于它的存储格式不同,CPU不能对它进行直接运算,从而影
响运算效率。DECIMAL(M,D)总共要占用M+2个字节。
尽量不要使用DOUBLE,不仅仅只是存储长度的问题,同时还会存在精确性的问题。同样,固定精度的小数,也不建议使
用DECIMAL,建议乘以固定倍数转换成整数存储,可以大大节省存储空间,且不会带来任何附加维护成本。