MySQL相关基础知识

database

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

目录

  • MySQL相关知识
    • 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连同数据和表结构一起删除

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

以上是 MySQL相关基础知识 的全部内容, 来源链接: utcz.com/z/533159.html

回到顶部