现在的位置: 首页 > 综合 > 正文

MySQL学习笔记(一)

2013年03月27日 ⁄ 综合 ⁄ 共 2125字 ⁄ 字号 评论关闭

1.mysql常用数据类型
(1)数值型
TINYINT 1 字节 (-128,127) 无符号(0,255)小整数值 
SMALLINT 2 字节 (-32768,32767) 无符号(0,65 535) 大整数值 
MEDIUMINT 3 字节 (-8 388 608,8388607) 无符号(0,16777215) 大整数值 
INT(-2147483648,2147483647) 无符号(0,4294967295) 大整数值 
BIGINT 8 字节  极大整数值 
FLOAT 4 字节单精度
DOUBLE   8 字节 
(2)字符串类型
CHAR 0-255字节 定长字符串 
VARCHAR 0-255字节 变长字符串 
TINYBLOB 0-255字节 不超过 255 个字符的二进制字符串 
TINYTEXT 0-255字节 短文本字符串 
BLOB 0-65535字节 二进制形式的长文本数据 
TEXT 0-65535字节 长文本数据 
MEDIUMBLOB 0-16777215字节 二进制形式的中等长度文本数据 
MEDIUMTEXT 0-16777215字节 中等长度文本数据 
LOGNGBLOB 0-4294967295字节 二进制形式的极大文本数据 
LONGTEXT 0-4294967295字节 极大文本数据
(3)日期型
date,datetime,timestamp,其中date智能显示日期,另外两个变量还可以显示时分秒
①timestamp 一般一个表就设定一列为timestamp,默认值可设为CURRENT_TIMESTAMP,当记录
更新时候,TIMESTAMP列会自动将其值设定为CURRENT_TIMESTAMP
②datetime不能设定默认值,支持的范围为'1000-01-01 00:00:00'到'9999-12-31 23:59:59'
,DATETIME列可以变相的设定默认值,比如通过触发器、或者在插入数据时候,将DATETIME字段值设置为now();
③一般建表时候,创建时间用datetime,更新时间用timestamp。

例如
create table msgs
(
id int unsigned not null auto_increment,
send_time timestamp not null default CURRENT_TIMESTAMP,
read_time datetime,
status tinyint not null,
primary key (id)
)

2.mysql 8小时问题
用show variables可查看mysql各种变量值,其中wait_timeout是28800秒,即当数据库连接空闲
超过8小时就会自动失效,mysql将其断开,但C3P0连接池并不知道该连接已经失效。解决方法
(1)修改mysql配置文件my.ini,将wait_timeout>28800,在 [mysqld] 节中设置:
# Set a connection to wait 8 hours in idle status.
wait_timeout = 86400
(2)减少连接池内连接的生存周期,使之小于wait_timeout=28800的值。修改 c3p0 的配置文件,设置为300秒:
# How long to keep unused connections around(in seconds)
# Note: MySQL times out idle connections after 8 hours(28,800 seconds)
# so ensure this value is below MySQL idle timeout
jdbc.maxIdleTime=300

3.常用命令
show databases;//显示数据库
use db_name;//选择数据库
select database();//显示当前选择的数据库
show tables;//显示当前数据库包含什么表
show table status;//检索表的信息,包括表引擎、更新时间、最大尺寸等
select last_insert_id();//返回最近auto increment的id值

4.mysql数据存放目录从c盘迁移到D盘D:\mysqldata
win7下mysql
安装目录为D:\Program Files\MySQL\MySQL Server 5.1
data数据目录为C:\ProgramData\MySQL\MySQL Server 5.1\data
(1)进入cmd停止mysql服务: net stop mysql(如果是mysql5.5:net stop mysql55)
(2)在D盘新建文件夹D:\mysqldata
(3)复制C:\ProgramData\MySQL\MySQL Server 5.1\data中的全部数据到D:\mysqldata
(4)修改mysql的配置文件my.ini
找到datadir="C:/ProgramData/MySQL/MySQL Server 5.1/Data/"
修改为datadir="D:/mysqldata/"
(5)进入cmd启动mysql服务:net start mysql(如果是mysql5.5:net start mysql55)
(6)测试datadir目录是否更改,进入mysql控制台:show variables like 'datatdir';

抱歉!评论已关闭.