Mysql(2)
来源:互联网 发布:java的标识符和关键字 编辑:程序博客网 时间:2024/06/05 16:43
1. 操作数据(查询)
1.1. DISTINCT
语法
SELECT [DISTINCT] 列名[, 列名]... FROM 表名
1.2. 列名表达式
语法
SELECT 列名|表达式[,列名|表达式]... FROM 表名
注意事项
表达式只是显示时起作用, 不会改变数据库中的值
1.3. AS
SELECT 列名 AS 别名 FROM 表名
注意事项
起别名时AS可以省略
不会改变数据库中的值
1.4. WHERE
语法
SELECT 列名 FROM 表名 [WHERE 条件语句.
1.5. RDER BY
语法
SELECT 列名 FROM 表名 ORDER BY 列名 ASC|DESC;
注意事项
ORDER BY 指定排序的列名可以是表中的列名, 也可以是SELECT语句后面起的别名
ASC为升序, DESC为降序
ORDER BY应在查询语句的结尾
1.6. OUNT函数
语法
SELECT COUNT(*)|COUNT(列名) from 表名 [WHERE 条件语句]
注意事项
COUNT(列名)的方式是统计指定列中有多少条记录, 不包括值为NULL的
COUNT(*)则是统计表中有多少条数据
COUNT(DISTINCT 列名) 统计不重复的记录数
如果加上WHERE子句, 则是统计满足条件的记录
1.7. SUM函数
语法
SELECT SUM(列名) FROM 表名 [WHERE 条件语句];
1.8. VG函数
语法
SELECT AVG(列名) FROM 表名 [WHERE 条件语句];
1.9. MAX / MIN函数
语法
SELECT MAX(列名) FROM 表名 [WHERE 条件语句];
SELECT MIN(列名) FROM 表名 [WHERE 条件语句];
1.10. GROUP BY(重点)
语法
SELECT 列名 FROM 表名 GROUP BY 列名 [HAVING 条件语句]
2. 函数
ADDTIME(原时间, 增加值) 在某个时间上增加一段时间
CURRENT_DATE() 当前日期
CURRENT_TIME() 当前时间
CURRENT_TIMESTAMP() 当前时间戳
DATE(时间) 返回制定时间的日期部分
DATE_ADD(日期,INTERVAL 增加值 类型) 在指定日期上对某个字段增加
DATE_SUB(日期,INTERVAL 减少值 类型) 在指定日期上对某个字段减少
DATEDIFF(日期1, 日期2) 计算两个日期之间的差值
NOW() 当前时间
YEAR|MONTH|DATE|HOUR|MINUTE|SECOND(时间) 获取指定时间的某个字段
2.1. 字符串函数
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 '), '--');
2.2. 数学函数
ABS(数字) 求绝对值
BIN(十进制数) 将十进制转换为二进制
HEX(十进制数) 将十进制转换为十六进制
CONV(数字, 原进制, 目标进制) 转换进制
CEILING(小数) 向上取整
FLOOR(小数) 向下取整
ROUND(小数) 四舍五入
FORMAT(小数, 保留位数) 保留小数位
LEAST(值,值[,值]...) 取最小值
GREATEST(值,值[,值]...) 取最大值
MOD(数字, 数字) 取余
RAND() 生成随机数, 14位小数, 0 <= n <= 1
3. 表的约束
3.1. 唯一约束 unique
unique约束的字段在整张表中唯一, 不可重复, 不包括多个NULL
3.2. 非空约束 not null
not null约束的字段不能为空
删除非空约束
alter table test1 change name name varchar(20);
添加非空约束
alter table test1 change name name varchar(20) not null;
3.3. 主键约束 primary key
通常我们在设计表的时候需要给每一条记录一个独有的标识, 我们就用主键来约束这个标识.
primary key用来标识一个字段, 这个字段是非空且唯一的.
3.4. 键约束 foreign key
foreign key约束某一列的值是参照另外一列
被外键引用的记录不能删除, 如果想要删除某条被引用的记录, 需要找到引用这条记录的记录, 解除关联
被外键引用的表不能删除, 如果想要删除被引用的表, 需要删除所有引用此表的外键
删除外键约束
alter table wife drop foreign key husband_id_fk;
添加外键约束
alter table wife add constraint husband_id_fk foreign key(husband_id) references husband(id)
- Mysql(2)
- MySQL(2)
- MySQL (2)
- mysql 2
- mysql(2)
- [2]-Mysql
- mysql 2
- 2、MYSQL
- mysql (2)
- MySQL必知必会-2安装MySQL
- MySQL解析(2)--MySQL版本
- mysql笔记-- mysql命令札记2
- MySQL学习笔记(2)MySQL高级
- mysql基础2【常用mysql语句】
- mysql学习笔记(2)-创建MySQL索引
- MySQL学习【2】MySQL命令行操作
- mysql数据库入门(2)--mysql安装
- MYSQL学习心得(2) --使用MySQL的LAST_INSERT_ID
- zoj 3229(有上下界的最大流)
- 2011.09.13
- 赤手空拳如何成就百万富翁?——网络营销之十一(第八招:微博营销)
- POJ 1251 Jungle Roads (Prim算法)&& (Kruskal算法)
- 华为上机笔试题目和代码—————语言识别问题
- Mysql(2)
- hibernate中load方法的懒加载及原理分析
- Myeclipse调整虚拟内存大小
- JDBC
- asp.net 性别 单选按钮 操作Radiobutton控件
- 内建函数的补充和存储过程的认识
- JDBC的介绍
- JXTA api中,CreateMessage()方法不存在的问题
- 赤手空拳如何成就百万富翁?——网络营销之十二(第九招:移动互联网)