• mysql表操作


    mysql表操作

    插入

    insert into 表明()....

    创建

    create table user(host char(60),user char(16))
    select host,user from mysql.user
    创建表的时候用查询到的表的结构,字段和记录
    create table user_new1(ip char(60),username char(16))
    select host as ip,user as username from mysql.user;
    依然是创建表的时候拿到查询的表的结构,字段和记录,但是如果后面不加as命名的话吗,
    就会有四个字段,自己创建的那两个字段也会出现,不过记录不会再里面。所以想要改变名字
    必须要用as
    select host as 主机名,user as 用户名 from mysql.user;
    可以在查询的时候将查询的显示的字段改名字,利用as

    更新

    update db1.t1 set 字段=值 where id>10 or(and) id < 30;
    后面跟条件,当满足什么条件或者什么条件 还有满足什么条件和什么条件的时候

    删除

    delete from 表名 条件;
    删除表中满足什么条件的记录

    清空表

    truncate 表名;

    单表查询语法

    select * from 表名;
    *可以是表中所有字段,也可以是某些字段或者某个字段下的记录
    select distinct 字段 from 表名;
    去重用法,查询到的虚拟表去重
    select 字段,int字段*整型数字 from 表名;
    同样也可以用as将数字运算的结果记录来改名,也可以不加as做到改名字的目的
    select concat('查看信息:',字段)from 表名;
    利用concat()函数看可以拼接字符串,这样可以令显示的记录更加清晰
    select concat_ws(':',字段,字段)from 表名;

    显示效果

    【字段:字段】
    concat_ws()可以拼在数据中间
    在单表查询的顺序中,最先的是约束条件,然后是分组,然后是过滤,然后到去重复,然后再排序,

    限制条件

    where 约束条件,可以是比较运算符 主要是用来确定条件是什么或者大小范围
    例如:
    要寻找class表中ID大于5的
    select * from class where id >5
    要寻找class表中ID等于5的
    select * from class where id =5
    其他运算符同上,没什么区别
    可以用between来规定范围
    select * from class where id between 1 and 5
    可以用in来确定具体范围
    select * from class where id in(1,5)
    可以用like来约束具有部分条件的记录
    select * from class where name like 'e%'
    看可以使用and or not
    约束条件可以用等号来确定是某些具体的字符串
    或者用运算符还有范围来确定数字范围
    select post,count(id) from class group by post
    group by分组,分组的话将表中的记录以一块一块那种方式来进行操作,也就是说具有
    相同字段值的记录,将会聚合到一块来进行使用。
    所以在分组之后,再使用where约束,就无法像未分组前那样单条约束了,所以where约束
    要放在分组之前
    group可以使用聚合函数来进行操作,count字段个数,max最大值,min最小值,avg平均值
    sum和。
    分组的目的是为类以组为单位来处理记录,而不是处理单独的记录
    用group_concat()函数也可以查询各个分组的相应字段的记录
    过滤条件having
    having 用在分组之后,也就是说having所利用的过滤条件,只能是分组的聚合函数
    因为分组之后记录变成一块一块的处理,无法用于单挑记录的过滤,所以只能用聚合函数
    having也可以做到where那种约束,不过一般用于分组后
    where不能用在分组后利用聚合函数为条件
    order by 默认为升序,也可以用desc设置成降序
    可以设置先按照字段数据升降序,如果数据相同的再按照id升降序
    select * from employee order by age asc,id desc;
    limit限制条件放在最后
    select * from class order by id desc limit 1;
    这样显示降序按照id排序,id最大的就再最上面,再限制只取一个的话,取出来的就是id最大的那个人
    elect * from employee where name regexp '^e.*n$';
    regexp后面写正则

  • 相关阅读:
    信息学奥赛一本通(C++)在线评测系统——基础(一)C++语言—— 1044:判断是否为两位数
    1043:整数大小比较
    1043:整数大小比较
    1043:整数大小比较
    排序算法 —— 插入排序
    排序算法 —— 插入排序
    排序算法 —— 插入排序
    C#中如何获取一个字体的宽度值(像素单位)
    visual studio 恢复默认界面
    visual studio 恢复默认界面
  • 原文地址:https://www.cnblogs.com/gaoshengyue/p/7729219.html
Copyright © 2020-2023  润新知