zoukankan      html  css  js  c++  java
  • MySQL语句的使用

    进入数据库

     mysql -u root -pmysql    (u用户名,p密码)#如果不想让其他人看到就直接一个p然后回车再打密码
    select version();   查看数据库版本
    select now  查看现在时间

    数据库操作

    查看数据库 show databases    复数加s
    创建数据库 create [kri:eit] database 文件名 charset=utf8; 
    删除数据库 drop [drop] database
    use     切换路径进入到指定的库

    表操作

    desc        查看列表
    约束表格
    primary key     设为主键
    auto_increment  自然生长
    not null        不为空
    int unsigned    无符号整型
    create  table+表名(列名
    +约束,
    drop table+表名   删除表
    id  int unsigned  primary key  auto_increment  not null # 无符号整形  设为主键 自动增长 不为空
    varchar(10) 字符串字节
     
     

    表的增删改查‘

    1、查
    查询表的所有数据
    select * from 表名;
    查询指定的列
    select 列名1,列名2 from 表名;

    全列插入
    insert into 表名 values(id int primary key auto_increment )
    指定列插入
    插入的数据和列名对应
    insert into 表名(列名1,列名2) values ( )
    指定列一行一行插入
    insert into 表名( 列名) values ( ..........)

    修改表里的数据
    update 表名 set 列名=新的值 where id = **;

    delete from 表名 where id = ** ;

    起别名
    select 列名 as 新列名, 列名1 as 新列名1 from 表名
    去重 单列
    select distinct 列名 from 表名

    数据条件查询
    where
    1、比较语句
    > = < >= <= !=
    2、逻辑运算符
    and or not
    3、模糊查询
    like
    % 匹配任意多个字符
    _ 匹配任意一个字符
    4、范围查询
    in 表示在一个不连续的范围内
    between ......and ... 表示在一个连续的范围内
    null
    is null 判断是空
    is not null 判断不是空

    优先级:
    由高到低的顺序
    小括号>not>比较运算符>逻辑运算符
    在逻辑运算符里 and > or
    如果想要先执行or 就得加括号


    排序
    order by
    asc 升序
    desc 降序

    分组

    group by 在查询结果后面进行分组
    select gender from students group by gender;

    1、group by + group_concat(字段名) 可以查出该字段的信息
    select gender,group_concat(name) from students group by gender;
    2、group by + 聚合函数 avg() sum() count(*)
    select gender,count(*) from students group by gender;
    3、group by + having
    having 条件表达式 用来分组查询后再根据条件进行查询
    having和where的用法是一样的 只不过having只能在group by 后使用
    mysql> select gender,count(*) from students group by gender having count(*)>2;
    4、group by + with rollup
    作用就是在最后一行 记录当前列里所有记录的总和

    聚合函数
    1、count(*) 获取总行数
    select count(*) from students;
    2、max 查询最大值
    3、min 查询最大值
    4、sum 求和
    5、avg 求平均值
    5、round(avg(列名),2) 求平均值保留两位小数

    一个汉字占多少长度与编码有关:
    UTF-8:一个汉字=3个字节
    GBK:一个汉字=2个字节

    分页
    1、limit start(开始,从第几行开始查) ,count(从开始行下一行,往后查几行数据)
    select * from 表名 limit start,count;
    select * from 表名 limit 9,5;

    外键
    定义,连接两个表
    1,先建主表 插入数据
    2,再建子表

    连接查询

    1、内连接 就是两张表的交集
    select * from 表1 inner join 表2 on 表1.列名=表2.列名
    2、左连接
    select * from 表1 left join 表2 on 表1.列名=表2.列名
    3、右连接
    select * from 表1 right join 表2 on 表1.列名=表2.列名

    自关联
    一个表自己查询自己
    inner join on

    子查询
    定义:一个select语句里面嵌入另一个select语句
    主查询和子查询的关系
    1、子查询是嵌入在主查询里
    2、子查询是辅助主查询 充当条件或者数据源的
    3、子查询是一个完整的select语句,可以被单独拿出来使用
    子查询分类
    1、标量子查询 返回的是数据(一行一列)
    2、列级子查询 返回的是一列(一列多行)
    3、行级子查询 返回的是一行(一行多列)

  • 相关阅读:
    Android应用程序资源的查找过程分析
    Android应用程序资源管理器(Asset Manager)的创建过程分析
    Android应用程序资源的编译和打包过程分析
    跨平台的高性能的C++通讯库
    函数memstr
    chrome必备插件
    01背包的优化问题
    高精度小结/。。。
    关于日期的计算问题。。。。。
    终于入手了01背包问题!!
  • 原文地址:https://www.cnblogs.com/sunzzc/p/13030788.html
Copyright © 2011-2022 走看看