sql语句小结

作者: zengsiyong | 来源:发表于2017-05-15 22:05 被阅读31次

一、安装mysql

如图检测当前mysql版本为5.5.49,输入命令 mysql -u root -p 进入数据库。

Paste_Image.png

二、操作数据库

  • 创建并显示当前数据库


    创建并显示当前数据库
  • 删除一个库
    drop database 库名;

  • 创建带有编码的数据库并查看具体信息


    创建带有编码的数据库并查看具体信息
  • 使用库
    use 库名;

  • 查看当前正在操作的库
    select database();

三、操作数据库表

  • 创建一张表
    create table 表名(
    字段名 类型(长度) [约束],
    字段名 类型(长度) [约束],
    字段名 类型(长度) [约束]
    );

  • 查看数据库表
    创建完成后,我们可以查看数据库表
    show tables;
    查看表的结构
    desc 表名;

表的创建和查看
  • 删除一张表
    drop table 表名;

  • 修改表
    添加一列:
    alter table 表名 add 字段名 类型(长度) [约束];
    修改列的类型(长度、约束):
    alter table 表名 modify 要修改的字段名 类型(长度) [约束];
    修改列的列名:
    alter table 表名 change 旧列名 新列名 类型(长度) [约束];
    删除表的列:
    alter table 表名 drop 列名;
    修改表名:
    rename table 表名 to 新表名;
    修改表的字符集:
    alter table 表名 character set 编码;
    查看当前表的编码:
    show create table 表名;

四、对数据库表记录进行操作(修改)

  1. 插入记录
  • 方式1:
    insert into 表名(列名1,列名2,列名3……) values(值1,值2,值3……)

  • 方式2:
    insert into 表名 values(值1,值2,值3……)

    insert into 表名 values(值1,值2,值3……)
    注意:char的长度为2则只能存储两个字母
  • 修改表记录

    • 不带条件的:
      update 表名 set 字段名=值, 字段名=值, 字段名=值……
    • 带条件的
      update 表名 set字段名=值, 字段名=值, 字段名=值…… where 条件


      修改表记录

注意:插入数据中文乱码问题解决办法
set names gbk;

解决插入数据中文乱码
  • 删除表记录
    • 带条件的
      delete from 表名 where 条件
      注意,删除后,uid不会重置!
    • 不带条件的(直接删除整张表)
      delete from 表名;

注意:delete与truncate的区别:
delete删除的时候是一条一条的删除记录,它配合事务,可以将删除的数据找回。
truncate删除,它是将整个表摧毁,然后再创建一张一模一样的表。它删除的数据无法找回,而且使用truncate操作,**uid会重置 **

五、查询操作

select [distinct] *| 列名,列名 from 表名 [where条件]
  • 简单查询

    • 查询所有商品
      select * from product;
    • 查询商品名和商品价格
      select pname,price from product;
    • 查询所有商品信息使用表别名(as可以省略)
      select * from product as p;
    • 查询商品名,使用列别名
      select pname as p from product
    • 去掉重复值(按照价格)
      select distinct(price) from product;
    • 将所有的商品的价格+10进行显示
      select pname,price+10 from product;
  • 条件查询

    • 查询商品名称为某值的商品信息
      select * from 表名 where 字段名='值'
    • 查询价格>60的所有商品信息
      select * from 表名 where price>60;
    • 查询商品名称含有"xx字"的商品信息
      select * from 表名 where pname like 'x字x';
    • 查询商品id在(3,6,9)范围内的所有商品信息
      select * from 表名 where pid like in(3,6,9);
  • 排序
    查询所有的商品,按价格进行排序(升序/降序)
    select * from product order by price asc/desc;

  • 聚合函数

  • 获得所有商品的价格的总和
    select sun(price) from product;

  • 获得所有商品的平均价格
    select avg(price) from product;

  • 获得所有商品的个数
    select count(price) from product;

  • 获得所有商品的平均价格

  • 分组操作

    • 添加分类id (alter table product add cid varchar(32);)
    • 初始化数据
      update product set cid='1';
      update product set cid='2' where pid in (5,6,7);
      1.根据cid字段分组,分组后统计商品的个数
      Paste_Image.png
      2.根据cid分组,分组统计每组商品的平均价格,并且平均价格大于20000元。
      Paste_Image.png
      注意:分组之后条件不能使用where要使用having

相关文章

  • sql语句小结

    一、安装mysql 如图检测当前mysql版本为5.5.49,输入命令 mysql -u root -p 进入数据...

  • 04GORM源码解读

    简介 查询查询流程构建查询 SQL 语句条件语句小结 search 结构体search 的定义search 的方法...

  • SQL:常用sql语句小结

    SELECT 语法SELECT 列名称 FROM 表名称或SELECT * FROM 表名称SELECT Last...

  • MySql分组查询前N条记录

    Sql语句 SQL语句解析

  • 插入数据并获取自增ID

    方法一:SQL语句 方法二:SQL语句 方法三:SQL语句 方法二:JDBC

  • SQL语句的优化

    sql语句的优化:多使用共享语句 尽量使你的sql语句能够使用索引。怎样使sql语句能够使用到索引呢:当sql语句...

  • sql

    sql经典语句经典SQL语句大全(绝对的经典) - 浪迹天涯芳草 - 博客园 sql语法SQL语句查询语句完整语法...

  • 存储过程

    定义: 一组预编译好的SQL语句,可以理解成批量处理语句. 存储过程a : (SQL语句1;SQL语句2;SQL语...

  • mysql sql层分析 优化过程分析

    sql层 sql层接口接收sql语句 判断sql语句类型dml update select insertddl ...

  • oracle 存储过程执行动态sql实例

    1 概述 oracle的动态sql是指在语句块使用execute immediate 执行sql语句,sql语句可...

网友评论

    本文标题:sql语句小结

    本文链接:https://www.haomeiwen.com/subject/ivzhxxtx.html