mysql 数据库高级知识

一、数据库基础知识
1、为什么修改 Mysql 
    你需要一种新的数据库服务器或客户端功能,自行定制,开源mysql数据库的魅力,可以自行定制。
 
    学习这东西的思路就是 反复思考源码。
    如果知道系统的工作原理肯定是好事,可以帮你把服务器优化做到最好。
 
2、存储引擎
      Mysql 独到之处 — 插件式存储引擎 ,mysql存储类别粒度小到每个表,用户可以最大程度的利用各种引擎的优点、避免缺点。
 
3、数据库的分类
  面向对象型、关系型、对象关系型
      
4、关系型数据库系统架构
    RDBS(Relational DataBase Server),关系数据库服务器。
   
  RDBMS  作为存储和获取数据功能集合,支持大量用户同时
   
数据库管理系统(Database Management System)是一种操纵和管理数据库的大型软件
 
 
二、mysql 数据类型
数值类型 、日期/时间类型、字符串类型
 
 
指定数据的宽度
id   int (11)
id  int 后面 数字为 11,表示该数据类型指定显示的宽度为。
 
数值小于指定的宽度可以用空格填充,大于显示的宽度,超过指定的类型,数据还是可以插入,而且能够显示出来。
 
        显示宽度只用于显示,并不能限制取值范围和占用空间,如:int (3) 会占用4个字节的存储空间。并且允许的最大值也不会是 999 ,而是 int 整型允许的最大值
 
使用 show 查看错误信息
 
show  warnings
  
Mysql 允许不严格的语法
 
任何标点符号可以作为日期部分之间的间隔符。
例如: “98-11-31” 、”98/11/31” 、”98@11@31”等价的,可以插入到数据库。
 
 
如何选择数据类型
 
为了优化存储,提高数据库性能,任何情况下都应该使用最精确的类型。
 
Mysql 内部运算符号
 
算术运算符、比较运算符、逻辑运算符、位操作运算符
 
 
算术运算符操作
创建表
create  table  testAdd  (num int)
向字段中添加 64
insert   into  testAdd value( 64 )
 
进行 num 进行加法和减法运算
select  num , num + 10 , num -3 +5 , num +36.5  from  teatAdd
 
 
比较运算符
 
一个比较运算符的结果是 1、0 或者 null ,比较运算符经常在 select 的查询条件子句中使用。用来查询满足指定条件的记录。
 
等于运算符
 
select 1=0,'2'=2,2=2,null=null
 
 
数值比较有如下规则
1、若有一个或者两个参数为 null ,则比较运算结果为 null
2、若同一个比较运算中两个参数都是字符串,则按字符串比较
3、若两个参数均为正数,则按正数进行比较
4、若字符串和数字进行相等判断,则 MySQL 可以自动将字符串转为数字。
 
安全等于运算符
 
两个操作数均为 null ,返回值为 1 ,而不是 null
当一个操作数为 null ,其返回值为 0 ,而不是 null
 
不等于运算符
 
<> 或者  !=   用于判断数字、字符串、表达式不相等的判断。如果不相等,返回值为 1; 如果相等,返回值为 0  
 
select  'good'<>'god'  ,1<>2, 4 != 4 ,5.5 != 5;
 
 
小于、小于等于、大于、大于等于
 
其实类似
 
select 'good'>'god',2>1,4>4,5.5>5;
 
 
IS NULL 运算符 ,IS NOT NULL 运算符
 
select null is null , 10 is null ,ISNULL(12)
 
 
between  and 运算符
 
A between  B and C
 
A大于等于 B 小于等于 C
 
select 4 between 3 and 6, 5 between 5 and 7, 7 between 9 and 12;
 
 
LEAST 运算符(最小运算)
 
在有两个或者多个参数的情况下,返回最小值
假如任意一个自变量为 null ,则 LEAST( ) 返回值为 null,
若参数是整数或者浮点数时,LEAST 返回最小值,
若参数为字符串,返回字符串比较靠前的字母。
 
select least(2,0) ,least(20,3,2,10),least(10,null)
 
 
select least(2,3,4) ,least(2,3,null) ,least('a','b','c','d')
 
 
GREATEST(value1,value2,…….)
当有两个或者多个参数时,返回值为最大值。
假如任意一个自变量为 null ,则 greatest() 返回值为 null 
 
select   greatest(0,2,4) ,greatest(20.1,30.4,50.3),
greatest(10,null)
 
IN 、 NOT IN 运算符
 
IN 运算符用来判断操作数是否为 IN 列表中的其中一个值,如果是,返回值为 1 ; 否者返回 0
 
IN 运算符用来判断操作数是否为 IN 列表中的其中一个值,如果不是,返回值为 1 ; 否者返回 0
 
select  2 in (1,2,3,'thks') ,'ths' in ('thks',2,3,4)
 
select  2  not in (1,2,3,'thks') ,'ths' not in ('thks',2,3,4)
 
使用 like 运算符
 
A  like  匹配条件   
 
如果 A 满足匹配条件,则返回值为 1(true)
如果不匹配,则返回值为 0 (false)
 
like   两种通用的运算符
 
“%” , 匹配任何数目的字符,甚至包括 零字符
“_”  ,只能匹配一个字符
 
 
posted @ 2021-12-21 22:02  养柱  阅读(170)  评论(0)    收藏  举报