mysql 类型 函数

MYSQL

mysql 运算符

		=			等于	
		<>, !=		不等于	
		>			大于	
		<			小于	
		<=			小于等于	
		>=			大于等于	
		BETWEEN		在两值之间	>=min&&<=max
		NOT BETWEEN	不在两值之间	
		IN			在集合中	
		NOT IN		不在集合中	
		<=>			严格比较两个NULL值是否相等	两个操作码均为NULL时,其所得值为1;而当一个操作码为NULL时,其所得值为0
		LIKE		模糊匹配	
		REGEXP 或 RLIKE	正则式匹配	
		IS NULL		为空	
		IS NOT NULL	不为空
		and 		并且 	&&
		or 			或 		||
			例:
				select 5 between 1 and 10
				select 'ab,cd,hi' like '%hi%' 
				select 'ab,cd,hi' rlike 'hi' 

mysql 数值类型

		类型 	  大小 	范围
		tinyint		1 	127
		smallint	2 	32767
		mediumint	3 	8388607
		int 		4  	2147483647
		bigint 		8 	9223372036854775807
		float 		4 	
		double  	8
		decimal 	numeric和decimal同义,numeric将自动转成decimal
			·M是数字的最大数(精度),其范围为1~65(在较旧的MySQL版本中,允许的范围是1~254),M 的默认值是10。
			·D是小数点右侧数字的数目(标度),其范围是0~30,但不得超过M。
				例:DECIMAL(4, 1) -999.9 到 999.9

mysql 日期时间类型

		类型 	  大小 	格式
		date 		3 	YYYY-MM-DD
		time 		3 	HH:MM:SS
		year 		1 	YYYY
		datetime 	8 	YYYY-MM-DD HH:MM:SS
		timestamp 	4 	YYYYMMDDHHMMSS

mysql 字符串类型

		类型 		大小 		用途
		char 		255	 		定长字符串
		varchar 	65535 		变长字符串(根据实际内容改变)
		tinyblob 	255 		二进制短字符串
		tinytext 	255 		短文本
		blob 		65535 		二进制长字符串
		text 		65535 		长文本
		mediumbolb 	16777215
		mediumtext 	16777215 	中文本
		longblob 	4294967295
		longtext 	4294967295 	大文本

mysql 数据库操作

	show databases 				显示所有数据库
	use mysql 					使用数据库
	CREATE DATABASE 数据库名		创建数据库
	drop database 数据库名		删除数据库

mysql 表操作

	创建表
		CREATE TABLE IF NOT EXISTS `runoob_tbl`(
		   `runoob_id` 		INT UNSIGNED 	AUTO_INCREMENT,
		   `runoob_title` 	VARCHAR(100) 	NOT NULL,
		   `runoob_author` 	VARCHAR(40) 	NOT NULL,
		   `submission_date` DATE,
		   PRIMARY KEY ( `runoob_id` )
		)
		 	AUTO_INCREMENT 定义列为自增的属性,一般用于主键,数值会自动加1。
			PRIMARY KEY    关键字用于定义列为主键。 您可以使用多列来定义主键,列间以逗号分隔。
	删除表
		DROP TABLE 表名
	修改表(修改数据表名或者修改数据表字段时)		
		删除表字段
			ALTER TABLE 表名  DROP 字段名
		添加字段
			ALTER TABLE 表名 ADD 字段名 类型
		指定字段位置
			ALTER TABLE 表名 i  FIRST;
			ALTER TABLE 表名 i INT AFTER c;
	查询
		SELECT * from 表名 WHERE 条件
		--查询用户关联课程
		select kc.id, kc.KCMC, us.ID, us.NAME from KCJBXX kc, USER us where kc.USERID=us.ID
	添加
		INSERT INTO table_name ( field1, field2,...fieldN )
	                       VALUES( value1, value2,...valueN );
	    INSERT INTO table_name1 ( field1, field2,...fieldN ) select ( value1, value2,...valueN ) from table_name2
	修改	                     
	 	UPDATE table_name SET field1=new-value1, field2=new-value2 WHERE 条件
	删除
		DELETE FROM 表名 WHERE 条件 	--删除条件记录
	 	DELETE FROM 表名    		--清空表
	连表查询
	 	SELECT field11, field12,...field1N
		FROM tables
		[WHERE conditions]
		UNION [ALL | DISTINCT]
		SELECT field21, field22,...field2N
		FROM tables
		[WHERE conditions];
        	DISTINCT: 可选,删除结果集中重复的数据。默认情况下 UNION 操作符已经删除了重复数据,所以 DISTINCT 修饰符对结果没啥影响。
			ALL: 可选,返回所有结果集,包含重复数据。
			例:
				SELECT kcbh,kcm from lesson UNION SELECT kcbh,kcm from stu_lesson

	GROUP BY 
		语句根据一个或多个列对结果集进行分组,在分组的列上我们可以使用 COUNT, SUM, AVG,等函数。
			例:select sno from stu_lesson group by sno 		         --对sno列的数据,进行整合(去重)
				select sno, count(*) from stu_lesson group by sno   	 --sno列,重复数据个数
				select bm, gw, sum(rs) from school where status='1' group by bm,gw	--学校部门岗位分组人数(状态可用部门)
				select bm, gw, sum(rs) from school group by bm,gw having age>18 	--学校部门岗位分组人数 大于18岁的
	ORDER BY
		设定你想按哪个字段哪种方式来进行排序(asc小,desc大)
			例:select * from stu_lesson ORDER BY grade, pgrade DESC 	--不写默认asc

	INNER JOIN(内连接,或等值连接):获取两个表中字段匹配关系的记录。
	LEFT JOIN(左连接):获取左表所有记录,即使右表没有对应匹配的记录。
	RIGHT JOIN(右连接): 与 LEFT JOIN 相反,用于获取右表所有记录,即使左表没有对应匹配的记录。
		例:SELECT le.lno,le.lname,sl.sno,sl.grade from lesson le INNER JOIN stu_lesson sl ORDER BY sl.sno

mysql 聚合函数

		MAX		查询指定列的最大值
		MIN		查询指定列的最小值
		COUNT	统计查询结果的行数
		SUM		求和,返回指定列的总和
		AVG		求平均值,返回指定列数据的平均值

mysql 日期时间函数

		NOW()			获取当前日期和时间的函数
		CURDATE()		获取当前的日期
 		CURTIME()		获取当前时间
 		DATE(date)		获取日期时间或者日期的日期部分
		MONTH(date)		获取指定日期中的月份
		MONTHNAME(date)	获取指定日期中的月份英文名称
		DAYNAME(date)	获取指定曰期对应的星期几的英文名称
		DAYOFWEEK(date)	获取指定日期对应的一周的索引位置值
		WEEK			获取指定日期是一年中的第几周,返回值的范围是否为 0〜52 或 1〜53
		DAYOFYEAR(date)	获取指定曰期是一年中的第几天,返回值范围是1~366
		DAYOFMONTH(date)获取指定日期是一个月中是第几天,返回值范围是1~31
		YEAR(date)		获取年份,返回值范围是 1970〜2069		
		TIME_TO_SEC(time)		将时间参数转换为秒数
		SEC_TO_TIME(seconds)	将秒数转换为时间,与TIME_TO_SEC 互为反函数		
		ADDTIME(datetime, time)	时间加法运算,在原始时间上添加指定的时间
		SUBTIME(datetime, time)	时间减法运算,在原始时间上减去指定的时间
		DATEDIFF(date,date2)	获取两个日期之间间隔,返回参数 1 减去参数 2 的值

 		EXTRACT(unit FROM date)	获取返回日期/时间的单独部分,比如年、月、日、小时、分钟等等。
 			date 参数是合法的日期表达式
			unit 参数可以是下列的值:
 				MICROSECOND、SECOND、MINUTE、HOUR、DAY、WEEK、MONTH、QUARTER、YEAR、SECOND_MICROSECOND、MINUTE_MICROSECOND、MINUTE_SECOND、HOUR_MICROSECOND、HOUR_SECOND、HOUR_MINUTE、DAY_MICROSECOND、DAY_SECOND、DAY_MINUTE、DAY_HOUR、YEAR_MONTH
 			例:select EXTRACT(YEAR_MONTH from now()) ;

 		DATE_ADD(date,INTERVAL expr type)	将日期添加指定的时间间隔
 			date 参数是合法的日期表达式 	expr 参数是添加的时间间隔。
			type参数可以是下列值:
 				MICROSECOND、SECOND、MINUTE、HOUR、DAY、WEEK、MONTH、QUARTER、YEAR、SECOND_MICROSECOND、MINUTE_MICROSECOND、MINUTE_SECOND、HOUR_MICROSECOND、HOUR_SECOND、HOUR_MINUTE、DAY_MICROSECOND、DAY_SECOND、DAY_MINUTE、DAY_HOUR、YEAR_MONTH
 			例:select DATE_ADD(now(),INTERVAL 2 DAY); //获取两天后的时间

 		DATE_SUB(date,INTERVAL expr type) 	将日期减去指定的时间间隔。
 			参数同上
 			例:select DATE_SUB(now(),INTERVAL 2 DAY); //获取两天前的时间

 		DATEDIFF(date1,date2)	获取两个日期之间的天数
 			date1 和 date2 参数是合法的日期或日期/时间表达式。

		DATE_FORMAT(date,format)	格式化日期时间
			date 参数是合法的日期。format 规定日期/时间的输出格式。
				格式:描述
				%a:缩写星期名
				%b:缩写月名
				%c:月,数值
				%D:带有英文前缀的月中的天
				%d:月的天,数值(00-31)
				%e:月的天,数值(0-31)
				%f:微秒
				%H:小时 (00-23)
				%h:小时 (01-12)
				%I:小时 (01-12)
				%i:分钟,数值(00-59)
				%j:年的天 (001-366)
				%k:小时 (0-23)
				%l:小时 (1-12)
				%M:月名
				%m:月,数值(00-12)
				%p:AM 或 PM
				%r:时间,12-小时(hh:mm:ss AM 或 PM)
				%S:秒(00-59)
				%s:秒(00-59)
				%T:时间, 24-小时 (hh:mm:ss)
				%U:周 (00-53) 星期日是一周的第一天
				%u:周 (00-53) 星期一是一周的第一天
				%V:周 (01-53) 星期日是一周的第一天,与 %X 使用
				%v:周 (01-53) 星期一是一周的第一天,与 %x 使用
				%W:星期名
				%w:周的天 (0=星期日, 6=星期六)
				%X:年,其中的星期日是周的第一天,4 位,与 %V 使用
				%x:年,其中的星期一是周的第一天,4 位,与 %v 使用
				%Y:年,4 位
				%y:年,2 位

mysql 字符串函数

		LENGTH(v)				计算字符串长度函数,返回字符串的字节长度
		CONCAT(v,...,v)			合并字符串函数,返回结果为连接参数产生的字符串,参数可以使一个或多个
		INSERT(s1,x,len,s2)	替换字符串函数(字符串s1,s1中替换起始位,s1替换几位,替换字符串s2)
		LOWER(v)				将字符串中的字母转换为小写
		UPPER(v)				将字符串中的字母转换为大写
		LEFT(value,index)		从左侧字截取符串,返回字符串左边的若干个字符
		RIGHT(value,index)		从右侧字截取符串,返回字符串右边的若干个字符
		TRIM(v)					删除字符串左右两侧的空格
		REPLACE(s,s1,s2)		字符串替换函数,返回替换后的新字符串(将s 中的所有s1 替换成s2)
		SUBSTRING(s,x,len) 	截取字符串,返回从指定位置开始的指定长度的字符换
		REVERSE(v)				字符串反转(逆序)函数,返回与原始字符串顺序相反的字符串	

mysql 字符串转成数字

		直接用加法
		  字符串+0
		使用函数
			CAST(value as type);
			CONVERT(value, type);
				type可以为:
					日期 : DATE     
  					时间: TIME  
			    浮点数 : DECIMAL 
			    整数 : SIGNED
			    无符号整数 : UNSIGNED
			例:select CAST("201690203" as date)

mysql 判断函数

		CASE()函数
			SELECT  name, 
					(
				        CASE 
				        WHEN sex=1 THEN
				            '男'
				        WHEN sex=2 THEN
				            '女'
				        ELSE
				            '未知'
				        END
				    ) 性别
				FROM user 
		IF()函数
			select name, if(weight<80,'正常','肥胖') 体重 from user

		IFNULL函数 	
			判断是否为空
			SELECT IFNULL(5,2) --返回:5
			SELECT IFNULL(null,2) --返回:2

		ELT()函数
			SELECT name,
			    ELT(
			        sex,
			        '男',
			        '女',
			        '未知'
			    ) 客户类型
			FROM user
				如果 N = 1,返回 str1,如果N = 2,返回 str2,等等,如果 N 小于 1 或大于参数的数量,返回 NULL。

mysql 数学函数

		ABS(v)		求绝对值
		SQRT(v)		求二次方根
		MOD(x,y)	求余数( x 被 y 除后的余数)
		CEIL(v)		向上取整 (CEILING),是返回不小于参数的最小整数,即
		FLOOR(v)	向下取整,返回值转化为一个BIGINT
		RAND()		生成一个0~1之间的随机数,传入整数参数是,用来产生重复序列
		ROUND(v)	对所传参数进行四舍五入
		SIGN(v)		返回参数的符号 例:SELECT SIGN(-6),SIGN(0),SIGN(4) -- -1 0 1			
		POW(x,y) 	(POWER)是所传参数的次方的结果值(x的y次方)
		SIN			求正弦值
		ASIN		求反正弦值,与函数 SIN 互为反函数
		COS			求余弦值
		ACOS		求反余弦值,与函数 COS 互为反函数
		TAN			求正切值
		ATAN		求反正切值,与函数 TAN 互为反函数
		COT			求余切值	 

mysql 系统信息函数

		VERSION() 		查看MySQL版本号
		CONNECTION_ID()	查看当前用户的连接数
		USER()、CURRENT_USER()、SYSTEM_USER()、SESSION_USER() 查看当前被MySQL服务器验证的用户名和主机的组合,一般这几个函数的返回值是相同的
		CHARSET(str)	查看字符串str使用的字符集
		COLLATION()		查看字符串排列方式


mysql 加密函数

		PASSWORD(str) 从原明文密码str计算并返回加密后的字符串密码,注意这个函数的加密是单向的(不可逆),因此不应将它应用在个人的应用程序中而应该只在MySQL服务器的鉴定系统中使用
		MD5(str)	为字符串算出一个MD5 128比特校验和,改值以32位十六进制数字的二进制字符串形式返回
		ENCODE(str, pswd_str)	使用pswd_str作为密码,加密str
		DECODE(crypt_str,pswd_str) 使用pswd_str作为密码,解密加密字符串crypt_str,crypt_str是由ENCODE函数返回的字符串


mysql 误操作恢复

mysql本身提供了一个记录操作日志的功能bin-log,具体的启用配置请参考
bin-log配置
可以自行利用bin-log日志文件恢复数据,也可以使用其他软件间接恢复
GitHub链接

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值