MySQL基础技能与原理―-基础技能篇.ppt
《MySQL基础技能与原理―-基础技能篇.ppt》由会员分享,可在线阅读,更多相关《MySQL基础技能与原理―-基础技能篇.ppt(28页珍藏版)》请在三一办公上搜索。
1、MySQL基础技能与原理基础技能,MySQL DBA Team,彭立勋(http:/),内容概要,1.MySQL开发流程规范2.MySQL数据类型与处理函数3.MySQL高级特性4.MySQL与Oracle差异比较5.MySQL调优基础,MySQL开发流程规范,线上文档:B2B-OPS命名规范:数据库/表/字段命名对象设计规范:数据类型,表设计,约束使用SQL编写规范:绑定变量与替代变量,数据类型转换,表连接,分页查询等,MySQL数据类型与处理函数,数值类型与处理函数字符类型与处理函数时间类型与处理函数类型处理小技巧官方文档:,数值类型与处理函数,BIT(M):位字段类型。M表示每个值的位数
2、,范围为从1到64。M默认为1。TinyINT(M):带符号的范围是-32768到32767。无符号的范围是0到65535。1字节。SmallINT(M):带符号的范围是-32768到32767。无符号的范围是0到65535。2字节。MediumINT(M):带符号的范围是-8388608到8388607。无符号的范围是0到16777215。3字节。INT(M):带符号的范围是-2147483648到2147483647。无符号的范围是0到4294967295。4字节。BigINT(n):带符号的范围是-9223372036854775808到9223372036854775807。无符号的范
3、围是0到。8字节。Decimal(m,n):M是总位数,D是小数点(标度)后面的位数。实际上是VARCHAR存储。,数值类型与处理函数,算数符运算:SELECT expr;数学函数:ABS(x),x的绝对值。CEIL(x),返回不小于X 的最小整数值。FLOOR(x),返回不大于X的最大整数值 CRC32(x),计算循环冗余码校验值。RAND(),返回01直接随机浮点数。SIGN(x),返回x的符号 TRUNCATE(X,D),返回X被舍去至小数点后D位的数字。,字符类型与处理函数,Char(M):长度固定为创建表时声明的长度M。长度可以为从0到255的任何值。当保存CHAR值时,在它的右边填
4、充空格以达到指定的长度。当检索到CHAR值时,尾部的空格被删除。在存储或检索过程中不进行大小写转换。占用空间(M*每字符字节长度),UTF8为3字节。VarChar(M):列中的值为可变长字符串。长度可以指定为0到65,535之间的值。VARCHAR的最大有效长度由最大行大小和使用的字符集确定。整体最大长度是65,532字节。VARCHAR值保存时不进行填充。当值保存和检索时尾部的空格仍保留,符合标准SQL。占用空间(M*每字符字节长度+长度记录位)。,字符类型与处理函数,CHAR_LENGTH(str):返回值为字符串str的长度,长度的单位为字符。LENGTH(str):返回值为字符串st
5、r 的长度,单位为字节。CONCAT(str1,str2,.):返回结果为连接参数产生的字符串。CONCAT_WS(separator,str1,str2,.):第一个参数是其它参数的分隔符。分隔符的位置放在要连接的两个字符串之间。LEFT(str,len):返回从字符串str开始的len最左字符。RIGHT(str,len);从字符串str 开始,返回最右len 字符。SUBSTRING(str,pos,len):从字符串str返回一个长度同len字符相同的子字符串,起始于位置 pos。LOWER(str):返回字符串 str 变为小写字母的字符。UPPER(str):返回字符串str转化为
6、大写字母的字符。,日期类型与处理函数,TIMESTAMP:以YYYY-MM-DD HH:MM:SS格式检索和显示TIMESTAMP值。支持的范围为1970-01-01 00:00:00到2037年。占用4字节DATETIME:以YYYY-MM-DD HH:MM:SS格式检索和显示DATETIME值。支持的范围为1000-01-01 00:00:00到9999-12-31 23:59:59。占用8字节。DATE:用YYYY-MM-DD格式检索和显示DATE值。支持的范围是1000-01-01到 9999-12-31。占用4字节。,日期类型与处理函数,DATE_SUB/DATE_ADD:对时间进行
7、加减。CURDATE():将当前日期按照YYYY-MM-DD 或YYYYMMDD 格式的值返回。NOW():返回当前日期和时间值,其格式为 YYYY-MM-DD HH:MM:SS 或YYYYMMDDHHMMSS。组合使用:mysql SELECT DATE_ADD(1998-01-02,INTERVAL 31 DAY);-1998-02-02,类型处理小技巧,IP存储:INET_ATON(expr),将IP转换为整数。INET_NTOA(expr),将整数转换为IP。mysql SELECT INET_ATON(209.207.224.40);-3520061480mysql SELECT I
8、NET_NTOA(3520061480);-209.207.224.40判断IP段:INET_ATON(209.207.224.1)=IP AND IP=INET_ATON(209.207.224.255);VARCHAR存储:(3*4+3)+1=16位,UTF8字符集15*3+1=46字节INT存储:4字节,MySQL高级特性,存储过程基础触发器基础分区表基础应用场景,存储过程基础,官方文档:变量定义顺序必须是:存储函数变量游标定义游标异常程序主体定义务必加上授权:CREATE DEFINER=rootlocalhost PROCEDURE sp();存储过程相关权限:被操作表的相关权限及E
9、XECUTE(执行权限),ALTER ROUTINE(修改权限),CREATE ROUTINE(创建权限)。存储过程/删除内不能调用存储过程,但可以调用函数。不能使用动态游标,CURSOR中不能有动态的表名。查看创建存储过程/函数的语句:SHOW CREATE PROCEDURE/FUNCTION ps;查看所有存储过程/函数:SHOW PROCEDURE/FUNCTION STATUS LIKE ps;调用存储过程:CALL sp();调用存储函数:SELECT sp();,触发器基础,官方文档:定义务必加上授权:CREATE DEFINER=rootlocalhost Trigger tg
10、r();定义语句:CREATE DEFINER=rootlocalhost Trigger tgr()AFTER/BEFORE INSERT/UPDATE/DELETE ON table FOR EACH ROW;数据调用:NEW.*(更新后数据)OLD.*(更新前数据)行级触发器,每一行都会触发动作内部可以调用存储过程和函数每种类型的Trigger在一张表上只能建立一个,分区表基础,官方文档:分区类型:RANGE分区:基于属于一个给定连续区间的列值,把多行分配给分区。LIST 分区:类似于按RANGE分区,区别在于LIST分区是基于列值匹配一个离散值集合中的某个值来进行选择。HASH分区:基
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MySQL 基础 技能 原理
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-5441058.html