zoukankan      html  css  js  c++  java
  • MySQL高级查询(一)

    本随笔你将看到:

    一.对于数据库表中数据的增删改查

    二.数据库中常用函数(聚合函数,日期函数,字符串函数,数字函数)

    一.对于数据库表中数据的增删改查

    mysql中对于表的操作:

    1.创建表:

    create table '表名'(

       '列名'   数据类型  字段属性索引约束注释 ;

    )

    2.修改表:

    修改表名:alter table '旧表名'  rename '新表名';

    在原表中添加某一列:alter table '表名'  add  ‘列名’  数据类型  是否为空等属性; 

    修改列名: alter table ‘表名’ change ‘原列名’  `新列名` 数据类型  属性;

    删除列名:alter table ‘列名’ drop ‘列名’;

    添加主键:

    alter table 表名 add constraint  主键名

    primary key 表名(主键字段);

    注意:主键名要写成pk_主键字段(列名),主键字段就是被设置为主键的列名

    添加外键:

    alter table 表名 add consteraint 外键名 

    foreign key (外键字段)

    references 主键名(主键列名);

    注意:外键名要设为fk_外键名_主键名  如:fk_student_sex

    增:

    dml语句插入数据:插入单条数据记录

    insert into ‘表名’(字段名列表)values(值列表)

    如:

    insert into

    ‘student’(‘name’,'sex_id','gread_id')

    values('莉莉',‘0’,‘01’);

    注:添加多条数据时只需在values括号外加入‘,’即可,注意最后的结尾要加分号

           如

           insert into 

           ‘sex’(‘sex_name’,‘sex_id’)

           values('拉拉',‘0’),('嘉佳',‘1’);

    增 查:

    dml语句 将查询结果加入新表:

      1.需要自己建表创列表

        insert  into 新表( 字段1,字段2) 

        select  字段1,字段2

        from 原表;

        ‘翻译’:将原表中查询(select)到的列表加入(insert  into)新表的字段中

         注:和sql selver 中的插入多表数据相同

      2.系统自动生成表格并添加

         create table 新表

        (select 字段1,字段2

           into  新表

           from   原表) ;

           '翻译':将原来表中的数据查询(select)并且添加到新表中。create table 是指添加新表(创建新表)的意思

    删改:

    DML语句  数据更新:

    update 表名

    set  字段1 = 值1,字段2 = 值2

    where 条件

    ‘翻译’:将某表中的一些值经过where条件判断成立后,修改为set后面的值

    删除:

    delete from 表名 where 条件

    ‘翻译’:满足where后面的条件后删除表中某些东西

    truncate table 表名

    ‘翻译’:删除某表中的数据

    注意:truncate删除后将重置自增列,表结构及字段,约束,索引保持不变(delete也是),查询速度比delete快

    mysql在查询语句中相比sql  selver 可以使用 limit 子句限制结果集(分页查询

    如:limit(4,4)从第四个元素开始查,要查询4行。

    语法:

    select  要查询列表

    from 表名

    where 查询条件

    group by  要分组的列表

    order by 要排序的列名(asd 或 desc倒叙)

    limit (从哪个字符开始查,查询多少行)

    Q:如果每页有20条数据,要求显示5页数据如何操作?

    A: 这里有一个好用公式:limit((n-1*a),a)。n表示要查询的页数,a表示要查询多少行

    注意:limit字句是从0开始计算。

    //mysql大部分函数是从1开始

      sql selver 大部分函数是从1开始

       Java中的数组计算是从0开始

       limit 子句查询从0开始

    二.数据库中常用函数(聚合函数,日期函数,字符串函数,数字函数)

    常用函数:    聚合函数

    avg()            返回某字段平均值

    count()         返回某字段行数

    max()            返回某字段对大值

    min()             返回某字段最小值

    sum()            返回某字段的和

    字符串函数:

         函数名                                         作用                                       举例

    concat(str1,str2...)                       字符串连接                    select  concate(‘as’,‘d’,‘f’)  

                                                                                              返回:asdf

    insert(ab,b,c)                     字符串替换                     select  insert(‘aaaab’,‘a’,‘b’)

                                                                                               返回:bbbbb

    lower(aaa)                          将字符串转化为小写            select  lower('ASDF')

                                                                                                 返回:asdf

    upper(ddd)                         将字符串转化为大写            select  upper(‘asdf’)

                                                                                                 返回:ASDF

    substring(sdf,we,asd)      字符串截取                        select   substring(‘qwer',2,2)

                                                                                                 返回:we

    时间,日期函数:

            函数名                                作用                                                 举例

           curdate()                          截取当前日期                                   select  curdate();

                                                                                                            返回:2020/4/30

            curtime()                     截取当前时间                                  select   curtime();

                                                                                                            返回:  21:49

            now()                           截取当前时间和日期                      select    now();

                                                                                                             返回:2020/4/30  21:49

            week(date)                  返回日期date为一年中的                select week('2000-12-5');

                                                     第几周                                             返回:48

             year(date)                  返回日期date的年份                        select year(now());

                                                                                                             返回:2020

             hour(time)                  返回时间time的小时值                     select  hour(now())

                                                                                                              返回:21

             datediff(date1,date2)      返回时间参数date1              select datediff(now(),'2001-4-16')

                                                     和date2之间相隔天数          返回:6954

              adddate(date,n)           计算日期参数加上n          select adddate(now(),5)

                                                   天后的日期                            返回:2020-5-5

    数学函数:

         ceil(x)            返回大于或等于数值x的最小整数         select  ceil(5.6);

                                                                                            返回:6

         floor(x)          返回小于或等于数值x的最大整数          select  floor(5.6);

                                                                                             返回:5

        rand(x)           返回0~1之间的随机数                           select  rand();

                                                                                             返回:0.12598

                                                                                                               okk~~

                                                                                                                      end

            

         

     

     

       

       

  • 相关阅读:
    【Rust】文件操作
    【Rust】转义字符
    【Rust】原始标识符
    【Rust】字节数组
    【Rust】文档测试
    【Rust】外部函数接口
    【Rust】不安全操作
    【Rust】单元测试
    【Rust】集成测试
    WPF之ComboBox 安静点
  • 原文地址:https://www.cnblogs.com/yangshuwenzuibang/p/12811512.html
Copyright © 2011-2022 走看看