Mysql 数据库学习笔记02 编程
一、常量
* 字符串常量
* 数值常量
* 十六进制常量
* 日期时间常量
* 位字段常量
* 布尔值
* NULL值
二、变量
* 用户变量:用户自定义变量;
* 系统变量:系统内部定义的变量;
1.用户变量:
必须用@开头,多个直接用逗号隔开。根据右边的值确定变量的类型 。 如:set @name="杨",@type=1
如下:
mysql> set @name="111"; select * from user where name=@name;
Query OK, 0 rows affected
+----+------+----------+------------------+-----------+-----+------------+--------+
| id | name | password | email | username | sex | profession | remark |
+----+------+----------+------------------+-----------+-----+------------+--------+
| 1 | 111 | 123456 | 308248859@qq.com | liuzhijun | 1 | NULL | NULL |
+----+------+----------+------------------+-----------+-----+------------+--------+
2.系统变量
大多数的系统变量应用于其它的SQL时,必须前面加 2个@。
某些特殊的可以省略这2个@,如:
* current_date:系统日期;
* current_time: 系统时间;
* current_timestamp: 系统日期和时间
* current_user: SQL用户的名字
例如:
三、运算符:
1.算术运算:
2.比较运算:
* =: 1=0 :如果相等返回1(true),如相等返回0(false);null比较都为null
* <>或 != 不等于
* <=>:和= 类型,区别是: null=null 返回 1(true).
四、控制语句:
1. if(条件,满足条件的结果1,不满足的结果2): 如 name=admin的那条记录如下:
* 存储过程或者函数中使用 if,格式为 if 查询条件 then 查询SQL elseif 查询条件 then 查询SQL else 查询SQL end if;
2.case语句:可以提供多种结果多选一的情况:
case 字段名称
when 1 then 结果1
when 2 then 结果2
else 默认结果
end as 字段别名
例如:
* 函数和存储过程下的case语句:
case
when 1 then 1SQL
when 2 then 2SQL
else 默认SQL
end case
五、常见的日期和时间函数:
1.获取当前时间 curdate()、curtime()、now()
2.获取星期几的函数: dayname(d) / dayofweek(d) / weekday(d)
3.获取月份的函数:month(d)返回d日期的月份,1-12直接。 monthname(d)返回 英文的月份名称
4.获取时间的函数 : curtime()、current_time()获取当前系统时间。 hour(t)获取t的小时 minute(t)获取t的分钟 second(t)t的秒钟
5. datediff(d1,d2)函数:返回 d1-d2之间的天数(d1到d2隔了多少天?)
6. adddate(d,n)函数: 返回 d+n天 后的日期。(n可以为负,表示前几天)
7. subdate(d,n)函数:返回 d-n天 后的日期。
8. addtime(t,n)函数:返回 t+n秒 后的时间。
9. subtime(t,n)函数: 返回 t-n秒 后的时间。
10.格式化时间函数:
* date_format(d,f) : d表示日期,f为格式,如:
* time_format(d,f); d表示时间 f:格式
Mysql 数据库学习笔记02 编程的更多相关文章
- MYSQL数据库学习笔记1
MYSQL数据库学习笔记1 数据库概念 关系数据库 常见数据库软件 SQL SQL的概念 SQL语言分类 数据库操作 创建数据库 查看数据库的定义 删除数据库 修改数据库 创建表 数据类型 约束 ...
- MySQL数据库学习笔记(十二)----开源工具DbUtils的使用(数据库的增删改查)
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- MySQL数据库学习笔记(十)----JDBC事务处理、封装JDBC工具类
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- MySQL数据库学习笔记(九)----JDBC的ResultSet接口(查询操作)、PreparedStatement接口重构增删改查(含SQL注入的解释)
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- Mysql数据库学习笔记之数据库索引(index)
什么是索引: SQL索引有两种,聚集索引和非聚集索引,索引主要目的是提高了SQL Server系统的性能,加快数据的查询速度与减少系统的响应时间. 聚集索引:该索引中键值的逻辑顺序决定了表中相应行的物 ...
- MySQL数据库学习笔记<一>
MySQL基本概念以及简单操作 一.MySQL MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于Oracle 旗下产品.MySQL 是最流行的关系型数据库管理系 ...
- MySQL数据库学习笔记(四)----MySQL聚合函数、控制流程函数(含navicat软件的介绍)
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- MySQL数据库学习笔记(三)----基本的SQL语句
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...
- mysql 数据库学习笔记一
一.navicat的引入: (第三方可视化的客户端,方便MySQL数据库的管理和维护)安装网址:https://www.navicat.com.cn/ NavicatTM是一套快速.可靠并价格相宜的数 ...
随机推荐
- 有序数列第K小
有序数列第K小 题目描述 给出两个长度分别为\(n,m\)的单调非递减数列,求出它们合并后的第\(k\)小值. 输入输出格式 输入格式: 第一行三个数,\(n,m,k\)如题意所述: 第二行\(n\) ...
- HDOJ(HDU).1045 Fire Net (DFS)
HDOJ(HDU).1045 Fire Net [从零开始DFS(7)] 点我挑战题目 从零开始DFS HDOJ.1342 Lotto [从零开始DFS(0)] - DFS思想与框架/双重DFS HD ...
- HDOJ(HDU).1258 Sum It Up (DFS)
HDOJ(HDU).1258 Sum It Up (DFS) [从零开始DFS(6)] 点我挑战题目 从零开始DFS HDOJ.1342 Lotto [从零开始DFS(0)] - DFS思想与框架/双 ...
- 【BZOJ 2322】[BeiJing2011]梦想封印 利用"环基"+线性基特征值
很容易想到离线加边并且把环和链拆开搞(就是对于每个终点求出起点到他的路径(其实就是dfs树),然后bzoj2115),而且维护也很简单,然而我们发现不同的终点可能得到相同的值,这就是我们遇到的最大的问 ...
- Java编程MapReduce实现WordCount
Java编程MapReduce实现WordCount 1.编写Mapper package net.toocruel.yarn.mapreduce.wordcount; import org.apac ...
- [ldap]ldap相关问题
背景: ldap数据库要同步,按照如下操作步骤: 1.导出: 使用slapcat,slapcat直接对数据库操作, slapcat 2.将所需的条目取出,生成文件in.ldif 3.在目标机器上导入: ...
- 宽度搜索(BFS)中求最短路径问题理解记录
借助ACM1242题深入理解迷宫类最短路径搜索并记录路径长度的问题及解决方法:这是初次接触优先队列,尤其是不知道该怎样去记忆在结构体重自定义大小比较的符号方向,很容易混淆符号向哪是从大到小排列,向哪是 ...
- [Android篇]Android Studio + Genymotion 一夜无眠 ,超级详细版本[请使用新版2.0]
环境说明:这里很重要,因为我在windows10中吃过很多的亏 操作系统: windows 7 64位系统 JDK 64位 : jdk1.7.0_75 注意我这里吃过亏!都用64位的! Android ...
- linux用户管理和文件权限
linux用户管理和文件权限 新建用户:useradd ftpuser useradd -g gxx userxx修改密码:passwd ftpuser新增用户组:# groupadd gr ...
- C11性能之道:转移和转发
1.move C++11中可以将左值强制转换为右值,从而避免对象的拷贝来提升性能.move将对象的状态或者所有权从一个对象转移到另一个对象,没有内存拷贝.深拷贝和move的区别如图: 从图可以看出,深 ...