zoukankan      html  css  js  c++  java
  • MySQL相关基础知识

    ------------恢复内容开始------------

    MySQL相关知识

    Mysql链接

    mysql -u用户名 -p密码

    创建数据库

    create databse 数据库名;

    删除数据库

    drop database 数据库名;

    选择数据库

    use 数据库名

    数据类型

    1. 数值型
    • 整型
      INTEGER、SMALLINT、NUMERIC
    • 浮点类型
      FLOAT、DOUBLE
    1. 字符串
      CHAR 定长格式 但是如果超过定长范围 后面会有空格将其补充
      VARCHAR 可变长格式
      TEXT
    2. 时间
      DATE YYYY-MM-DD 日期值
      TIME HH:MM:SS 世间之
      DATETIME YYYY—MM-DD HH:MM:SS

    数据表相关

    创建数据表

    创建数据表需要的信息

    • 表名
    • 字段表名
    • 定义每个表字段

    语法

    CREATE TABLE table_name(
    column_name column_type,
    column_name column_type
    );
    

    字段约束条件

    NOT NULL 字段不可为NULL
    AUTO_INCREMENT 列的数值每次加1 一般用于主键
    PRIMARY_KEY 定义主键   
    RNGINE 设置存储引擎
    CHARSET 设置编码

    删除数据表

    DROP TABLE 数据表名称;

    查询数据表结构

    DESC tablename ;

    修改表的结构

    增加表字段

    ALTER TABLE tablename ADD 列名 类型(长度) 约束;
    例如:

    ALTER TABLE category ADD `NAME` VARCHAR(20);
    
    • 关键字要用 框住

    修改列的长度及约束

    ALTER TABLE tablename MODIFY 列名 类型(长度)约束;
    例如:

    AlTER TABLE tablename MODIFY `NAME` VARCHAR(50) NOT NULL:
    

    修改表删除列

    ALTER TABLE tablename drop 列名;
    例如:

    ALTER TABLE tablename DROP `NAME`;
    

    修改表名

    RENAME TABLE 旧表名 to 新表名;

    修改表的字符集

    ALTER TABLE 表名 character set 编码表;

    插入数据

    INSERT INTO table_name(filed1,filed2,filedN) VALUES(value1,value2,valueN);
    

    查询数据

    SELECT column_name,column_name FROM table_name WHERE Clause
    

    1.WHERE子句的实行

    SELECT field1, field2,...fieldN FROM table_name1, table_name2...
    [WHERE condition1 [AND [OR]] condition2.....
    
    • where语句类似于程序语言中的if语句
    • where可以有多个条件 用AND 或者 OR 连接

    2.LIKE语句的使用
    配合SELECT实现模糊查询

    SELECT filed1,filed2,filed3 FROM table_name WHERE filed1="svalue" AND filed2 LIKE '条件';
    
    • 举例
      '%a' //以a结尾的数据
      'a%' //以a开头的数据
      '%a%' //含有a的数据
      'a' //三位且中间字母是a的
      'a' //两位且结尾字母是a的
      'a
      ' //两位且开头字母是a的
      查询以 java 字段开头的信息。
      SELECT * FROM position WHERE name LIKE 'java%';
      查询包含 java 字段的信息。
      SELECT * FROM position WHERE name LIKE '%java%';
      查询以 java 字段结尾的信息。
      SELECT * FROM position WHERE name LIKE '%java';

    3.将读取的数据进行排序
    用途:我们知道从 MySQL 表中使用 SQL SELECT 语句来读取数据。如果我们需要对读取的数据进行排序,我们就可以使用 MySQL 的 ORDER BY 子句来设定你想按哪个字段哪种方式来进行排序,再返回搜索结果。

    SELECT filed1,filed2,filedN FROM table_name1,table_name2 ORDER BY field1 ASC/DESC;
    
    • 默认为ASC升序 从小到大,DESC 降序 从大到小
    • 如果要去重的话 需要在字段前面加上 DISTINCT

    4.聚合函数
    之前查的都是横向查询,聚合函数查询用来进行纵向查询,它是对一列的值进行计算,然后返回一个单一的值。

    • 统计行数SELECT COUNT(filed) FROM 表名
      例如:查寻价格大于200的商品总条数

      SELECT COUNT(pid) FROM product WHERE price>200;

    • 统计指定列的和SELECT SUM(filed) FROM 表名
      例如:查询商品的价格和

      SELECT SUM(price) FROM product;

    • 统计指定列的平均值SELECT AVG(filed) FROM 表名
      例如:查询一个商品的平均价格

      SELECT AVG(price) FROM product;

    • 统计一列的最大值SELECT MAX(filed) FROM 表名;

    • 统计一列的最小值SELECT MIN(filed) FROM 表名;

    5.分组查询
    GROUP BY 语句根据一个或多个列对结果集进行分组。
    例如:统计每门课程的平均分,且只显示平均分>70分的信息

    SELECT sname,AVG(SCORE)FROM scores GROUP BY sname HAVING AVG(SCORE)>70;
    

    注:

    • 选择多个条件可以用 WHERE filed IN(列值1,列值2....列值N)

    • 如果要在WHERE后面 用聚合函数 需要把WHERE 变成 HAVING
      例如:查看所有商品的平均价格,所有商品的平均价格>800的话,就显示出所有商品的价格

      SELECT SVG(price) FROM product HAVING AVG(price)>800;

    更新数据

    UPDATE table_name SET filed1=new-value1,filed2=new-value2 WHERE Clause
    

    filed 为字段名

    删除数据

    DELETE FROM table_name WHERE Clause
    
    • 如果不指定WHERE 数据表中所有的数据均会被删除

    DELETE与DROP区别:DELETE 仅仅删除表的数据,DROP连同数据和表结构一起删除

    ------------恢复内容结束------------

  • 相关阅读:
    MVC在View中页面跳转
    javaEE之------ApectJ的切面技术===标签
    Service的生命周期
    Codeforces Round #253 (Div. 2)
    hdu 3183 A Magic Lamp(给一个n位的数,从中删去m个数字,使得剩下的数字组成的数最小(顺序不能变),然后输出)
    【转】理解红黑树
    概要设计注意事项
    C++ 初始化与赋值
    UE 的使用
    内存泄漏
  • 原文地址:https://www.cnblogs.com/GressWu/p/12711344.html
Copyright © 2011-2022 走看看