第八天(Mysql3/内置函数)

来源:互联网 发布:cms源码 编辑:程序博客网 时间:2024/06/05 17:20
 

   Mysql回顾

枚举类型enum和set都是字符串对象

enum(‘1’,’2’,’0’) 用数字下标来表示各个对象

  

set(‘1’,’2’,’3’,’4’) 用而进行二进制方式来表示各个对象顺序

   0001 0010 0100 1000      0101

   ‘1,2,3’

   

主键 :可以选择一个字段或多个字段

       字段信息变化较少,和表中其他字段的关联少;

       Primary key()

外键:参照完整性约束

Foreign key(字段)references 表名(字段)

注意存储引擎MYISAM、 innodb

Myisam  tb3  tb5,声明了外键不起作用

      Insert 和delete

Innodb   tb4  tb8  支持外键

      Insert 和 delete

 

索引:index

  例如: 姓名 年龄  单位  工资  

       姓名

       年龄

       姓名,年龄,单位  (推荐)

     注意:

缩短搜索的时间;

会单独保存索引文件;

Insert等 会有影响,不建议小的数据表创建索引;

使用索引一次只允许一个索引起作用;

    

 

 

 

 

 

 

 

 

1、Select语句

语法顺序:select 表达式|字段名  from 表  where 条件表达式|子查询 group by 字段名列表(支持排序) having  条件表达式   order  by 字段列表 limit

执行顺序:from   where   select  group by  having  order by  limit

 

注意:select 信息有别名;

 

2、多表的使用

1)全连接

   select  id1,id8  from tb1,tb2  where  …;

   注意:

相当于从(tb1的行数*tb2的行数产生的)结果中搜索;

       Where子句中指定的表达式使用了“=”叫做等值连接;

   2)内连接  inner join

Select  tb1.id1,id7  from tb1 join  tb2  on 表和表连接的条件

Where  条件表达式;

 

注意:

l  等同于有条件的全连接

l  可用于多个表(超过两张表)的连接

l  显示结果包括所有表中的信息

   3)外连接 outer join

      Select  tb1.id1,id8  from tb1 left outer join tb2

      注意:

       用于两张表;

       只保留一张表的全部记录,另一张表保留满足条件的记录,不满足的用null来填充

       cross join、straight join 等同于join;

       自然连接适合于连接条件只有一个字段;

 

 

 

 

 

 4)子查询

     注意:

步骤 :

      分类:in(select …)、比较运算符(select…)只执行一次子查询语句

            exists(select …) 执行次数和外部选择表的记录行数保持一致

            select 、where、 group by、order by

            from 必须给子查询的结果起别名

 3、视图

   相当于用一种格式显示数据表中的记录;

   只保存了创建视图的语句;

   并不产生新表;

create view view_name[(   )]

as select语句;

 

 

                                                       内置函数

数学函数

提醒:函数名和小括号不要有空格

      允许嵌套

Greatest(列表)

Least(列表)

Floor(浮点数)

Ceiling(浮点数)

Round(浮点数)

Truncate(浮点数,小数位数)截取

Abs(数值数据)  求绝对值

Sign(数值数据)  获取符号(+ 、-、0)

Sqrt(正整数)     开方

Pow(底数,指数) 幂

Bin()        二进制

OCT()       八进制

Hex()        十六进制

FORMAT(小数,保留位数)

Mod(数字1,数字2);求余数(正负依赖数字1)

Rand() 生成0<=n<=1之间的随机数

聚合函数 count sum avg max min

字符串函数:

Charset(字符串)  返回该串的字符集

Concat(字符串1,字符串2,。。。。) 连接字符串

Instr

Ucase

Lcase

Left

Length

Replace

Strcmp

Substring

Ltrim

Rtrim

Trim

时间日期函数

Mysql  p115-129

 

 

原创粉丝点击