• MysQL知识整理


    MYSQL语句

    基础知识:

    Mysql基础

    一, Mysql是数据管理系统;

    一些常用的mysql 命令:

    登录 mysql ?

          Mysql -u root -p

    1.显示服务器上所有已有的数据库

           Show databases;

    2.在服务器中创建自己的数据库

           Create database 表名

           Character set utf8;

    3.如何切换到指定的数据库

           Use 表名

    4.如何删除已有的数据库

           Drop database 表名

    二,如何在数据中建立数据表

       数据表是一个二维表格(行,列)

       一行代表一条数据

    1,每个列代表的是当前一条数据的字段如何建表?

    Eg: mysql > create table 表名(

    ---)收货人 varchar(8),

    ---)发货站 varchar(30),

    ---)发货人 varchar(8),

    ---)件数  int,

    ---)单号 varchar(12)

    ---));

    2, 如何删除已经建立的表?

    Drop table 表名

    三,sql语句语法

       1,显示数据列表

          Show databases;

       2, 切换数据库

          Use 表名

       3, 建立数据库

          Create database 表名 character set utf8;

       4, 显示当前数据中的表的信息

          Show tables;

       5, 物理删除数据库

          Drop database  表名;

       6, 物理删除数据库中的表

          Drop table 表名

    主键---(primary key):唯一识别一条记录的字段;

    自增---(auto-increment):某个字段不需要手动填写数据,而是通过系统分配的整数(每一条数据分配的值都是前一条数据时的增量);

    非空---not null):字段设置为非空时,填写数据时要求该字段为必填项;

    默认值:向表中填写数据时,字段不写入数据时 会默认填充值(0);

    唯一uniqe);

    表说明’(comment);

    引用reference);

    分组--多个分组之后剩下一个distinct);

    1.插入数据

      Insert 表名 values(‘’);

    {适用于全纪录插入}

    注意:

     {按表中字段顺序插入}

    1)insert 表名(字段1,字段二,...)values(‘字段值’,....’’)适用于对指定字段进行数据的插入操作。

    2)如果是字符类型的数据要用‘’包含要插入的数据。

     

    1.查看全表信息

       Select * from 表名。

    1.投影:

      Select 字段一,字段二,....from 表名

    2.在查询时,将字段别名

      Select id‘编号’,title‘标题’,create time‘创建时间’from 表名

    3.模糊查询:

      Where tel,name like ‘?%’;(不知道后面的数据时%在前面,反之亦然)(前后都有%时会把与之相关的都显示出来)

    ‘——’一个下划线代表一个字符。

    ‘百分号%’是通配符,可以代表任意多个字符。

    2.逻辑操作

      And 表示和多个条件都满足,

      Or 表示或者 一个条件满足即可,

      Not like 取反的反操作,

      Sum(求和) avg (求平均值) max(最大值)min(最小值)

      1.Order by (排序)asc升序 desc降序

      2.group by (分组)查询时会把相同的数据划分为一组 分组可以和聚合函数同步使用。

    {分组后筛选用having 不分组筛选用where}

    3.子查询中in的用法

    Eg:select * from users where waijian in (select id from adress_list where sex=’’ );

    in)表示查询多个 包含多个 not in)不包含

    补充部分:

    4.(limit 限制查询结果的记录数,显示的是几条到几条的信息)

    Eg:select * from adress_list 0,5;(5,表示的是从这开始是显示的几条信息)

     注意:如果在子查询中使用limit就不能使用in; 

    5.between...and...在。。。之间等价于。。。

    Eg:select * from score where degree between 60 and 80;                      

    6.union (将两个结构相同的东西查询结果进行合并);

     

    Eg:

    1) SELECT * FROM ming.adress_list;  /*显示所有信息*/

    2) SELECT name,position FROM ming.adress_list;  /*投影字段*/

    3) SELECT name '名字', tel '电话' FROM ming.adress_list;  /*将字段别名*/

    4) SELECT * FROM ming.adress_list where name='梁朝伟'; /*筛选条件查询*/

    5) SELECT * FROM ming.adress_list where tel like '136%';*/ 

    6) SELECT * FROM ming.adress_list where tel like '136%' and name like '%';  /*and使用*/

    7) SELECT * FROM ming.adress_list where tel like '136%' or name like '%';  /*or的用法*/

    8) SELECT * FROM ming.adress_list where tel not like '136%'; /*not的使用*/

    9) SELECT count(*) FROM ming.adress_list; /*count统计个数*/

    10 )SELECT sum(age) FROM ming.adress_list;  /*sum求和*/

    11) SELECT avg(age) FROM ming.adress_list;  /*avg求平均值*/

    12) SELECT max(age) FROM ming.adress_list;  /*max最大值*/

    13) SELECT min(age) FROM ming.adress_list;  /*min最小值*/

    14SELECT * FROM ming.adress_list order by id asc;  /*order by *

    15SELECT * FROM ming.adress_list order by id desc;  /*order by降序

    16SELECT position, count(*) '人数', avg(age)'平均年龄' FROM ming.adress_list group by position;

     /*group by 分组与聚合函数结合使用*/

    17SELECT  position,  count(*) '人数',  avg(age)'平均年龄FROM  ming.adress_list  group by  position having avg(age)>27;

    join 多表联合查询 {select users.* ,adress_list.name from users join adress_list on users.waijian=adress_list.id}

                         where 在关联以后where users,usersname='nihao'and users.password='123';

  • 相关阅读:
    ansible tower
    gitlab说明书
    新建系统配置
    docker&k8s-配置/常用命令
    Winscp隧道实现-跳板机/跨机连接
    FDM, FVM, FEM
    批量处理文件
    未来的职业规划
    内心两大矛盾
    MATLAB在Linux下的安装方法(待尝试)
  • 原文地址:https://www.cnblogs.com/susana/p/6386911.html
Copyright © 2020-2023  润新知