2011.09.09

1. 操作库

创建库

CREATE DATABASE [IF NOT EXISTS] 数据库名 [参数参数] [ 参数]...];

参数:

CHARACTER SET 码表名

COLLATE 校对规则名详见文档10.10.1

显示库

SHOW DATABASES;

显示数据库创建语句

SHOW CREATE DATABASE 数据库名;

修改库

ALTER DATABASE 数据库名参数参数][ 参数]...];

注意不能改数据库的名字

删除库

DROP DATABASE [IF EXISTS] 数据库名;

查看所有表

SHOW TABLES;

查看表的创建语句

SHOW CREATE TABLE 表名;

显示表结构

DESC 表名;

修改表名

RENAME TABLE 原表名 TO 新表名;

修改字符集

ALTER TABLE 表名 CHARACTER SET 字符集名;

删除表

DROP TABLE 表名;

追加列

ALTER TABLE 表名 ADD 列名 类型[,列名 类型][,列名 类型]...;

修改列类型

ALTER TABLE 表名 MODIFY 列名 类型[,列名 类型][,列名 类型]...;

修改列

ALTER TABLE 表名 CHANGE COLUMN 原列名 新列名 类型;

删除列

ALTER TABLE 表名 DROP 列名;

备份数据库

输入quit退出mysql, cmd.exe中输入:

mysqldump u用户名 –p密码 数据库名 文件名

恢复数据库

进入mysql.exe之后使用数据库之后

source 文件名

1.1. 时间函数

注意date, datetime, timestamp之间的区别

ADDTIME(原时间增加值) 在某个时间上增加一段时间

select addtime('18:23:01', '01:01:01');

select addtime(now(),'3:0:0');

CURRENT_DATE() 当前日期

select current_date();

CURRENT_TIME() 当前时间

select current_time();

CURRENT_TIMESTAMP() 当前时间戳

select current_timestamp();

DATE(时间) 返回制定时间的日期部分

select date('2011-02-14 18:00:00');

DATE_ADD(日期,INTERVAL 增加值 类型) 在指定日期上对某个字段增加

select date_add('2011-02-14 23:00:00', interval 10 month);

DATE_SUB(日期,INTERVAL 减少值 类型) 在指定日期上对某个字段减少

select date_sub('2011-02-14 23:00:00', interval 1 year);

DATEDIFF(日期1, 日期2) 计算两个日期之间的差值

select datediff('2000-02-14', '2001-02-14');

NOW() 当前时间

select now();

YEAR|MONTH|DATE|HOUR|MINUTE|SECOND(时间) 获取指定时间的某个字段

select year('2011-02-14 23:00:00');

select hour('2011-02-14 23:00:00');

1.2. 字符串函数

CHARSET(字符串) 返回字符串字符集

select charset(name) from student;

CONCAT(字符串1[, 字符串2]... )  连接字符串

select concat('aaa', 'bbb', 'ccc');

INSTR(字符串子字符串) 查找子字符串出现位置, 注意序号从1开始

select instr('abc', 'a');

UCASE(字符串) 将字符串转为大写

select ucase('aBc');

LCASE(字符串) 将字符串转为小写

select lcase('aBc');

LEFT(字符串长度) 从字符串左边取指定长度个字符

select left('aBc',2);

LENGTH(字符串) 计算字符串长度

select length('aBc');

REPLACE(字符串搜索字符串替换字符串) 将字符串中指定字符串替换为其他字符串

select replace('abbcbbd', 'bb', 'ee');

STRCMP(字符串1, 字符串2) 逐个字符比较两个字符串, 如果是包含关系则返回长度差值???

select strcmp('abcc', 'abde');

select strcmp('abc', 'ab');

SUBSTRING(字符串开始坐标[, 个数]) 从字符串中截取

select substring('abcdef', 3);

select substring('abcdef', 3, 2);

LTRIM(字符串) 去掉左边空白

select ltrim('    abc   ');

select concat('--', ltrim('    abc   '), '--');

RTRIM(字符串) 去掉右边空白

select concat('--', rtrim('    abc   '), '--');

TRIM(字符串) 去掉左右两边空白

select concat('--', trim('    abc   '), '--');

1.3. 数学函数

ABS(数字) 求绝对值

select abs(10);

select abs(-10);

BIN(十进制数) 将十进制转换为二进制

select bin(5);

HEX(十进制数) 将十进制转换为十六进制

select hex(10);

CONV(数字原进制目标进制) 转换进制

select conv(12, 10, 16);

select conv(12, 10, 2);

select conv(12, 16, 2);

CEILING(小数) 向上取整

select ceiling(3.4);

FLOOR(小数) 向下取整

select floor(3.4);

ROUND(小数) 四舍五入

select round(3.4);

select round(3.5);

FORMAT(小数保留位数) 保留小数位

select format(3.1415926, 2);

LEAST(,[,]...) 取最小值

select least(1,2,3,4);

select least('a', 'b', 'c', 'd');

GREATEST(,[,]...) 取最大值

select greatest(1,2,3,4);

select greatest('a', 'b', 'c', 'd');

MOD(数字, 数字) 取余

select mod(3,2);

select 3%2;

RAND() 生成随机数, 14位小数, 0 <= n <= 1

select rand();

1.4. 唯一约束 unique

unique约束的字段在整张表中唯一不可重复不包括多个NULL

创建表时设置唯一

create table test (

id int,

name varchar(20) unique

);

删除唯一约束

show create table test; 发现唯一索引名叫name

alter table test drop index name;

添加唯一约束

alter table test change name name varchar(20) unique;

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值