MySQL基础

本文详细介绍MySQL的基本命令,包括数据库的创建、删除、查看等操作,以及表的创建、修改、查询等常用语句。深入解析SQL语句的使用方法,如SELECT、INSERT、UPDATE、DELETE等,并提供实际应用案例。

MySQL基础

基本命令

  • 显示所有数据库
    show databases;
  • 创建数据库
    create database 数据库名
  • 删除数据库
    drop database 数据库名

基本语句

创建表

  • 语法
    CREATE TABLE 表名(属性名 约束条件 [完整性约束条件],
    属性名 约束条件 [完整性约束条件],
    ……
    属性名 约束条件 [完整性约束条件],
    );
  • 完整性约束条件
约束条件说明
PRIMARY KEY标识该属性为该表的主键,可以唯一的标识对应的记录
FOREIGN KEY标识该属性为该表的外键,与某表的主键关联
NOT NULL标识该属性不能为空
UNIQUE标识该属性的值是唯一的
AUTO_INCREMENT标识该属性的值自动增加
DEFAULT为该属性设置默认值

查看表的结构

  • 查看基本表结构
    describe(desc) 表名;
  • 查看表详细结构
    show create table 表名;

修改表

  • 修改表名
    ALTER TABLE 旧表名 RENMAE 新表名;

  • 修改字段
    ALTER TABLE 表名 CHANGE 旧属性名 新属性名 新数据类型

  • 增加字段
    ALTER TABLE 表名 ADD 属性名1 数据类型 [完整性约束条件][FIRST|AFTER 属性名2]
  • 删除字段
    ALTER TABLE 表名 DROP 属性名

删除表

DROP TABLE 表名;

表的查询

单表查询###

  • 查询所有字段
    SELECT 字段1,字段2,字段3…… FROM 表名;
    SELECT *FROM 表名;
  • 查询指定字段
    SELECT 字段1,字段2,字段3…… FROM 表名;

  • Where条件查询
    SELECT 字段1,字段2,字段3…… FROM 表名 WHERE 条件表达式;

  • 带IN关键字查询
    SELECT 字段1,字段2,字段3……FROM 表名 WHERE 字段 [NOT] IN (元素1,元素2,元素3);

  • 带BETWEEN AND的范围查询
    SELECT 字段1,字段2,字段3……FROM 表名 WHERE 字段[NOT] BETWEEN 取值1 AND 取值2;

  • 带LIKE的模糊查询
    SELECT 字段1,字段2,字段3……FROM 表名 WHERE 字段 [NOT] LIKE ‘字符串’;
    “%”代表任意字符
    “_”代表单个字符

  • 空值查询
    SELECT 字段1,字段2,字段3……FROM 表名 WHERE 字段 IS[NOT]NULL;

  • 带AND的多条件查询
    SELECT 字段1,字段2,字段3……FROM 表名 WHERE 条件表达式1 AND 条件表达式2 […AND 条件表达式n]

  • 带OR的多条件查询
    SELECT 字段1,字段2,字段3……FROM 表名 WHERE 条件表达式1 OR 条件表达式2 […OR 条件表达式n]

  • DISTINCT 去重复查询
    SELECT DISTINCT 字段名 FROM 表名;

  • 对查询结果排序
    SELECT 字段1,字段2……FROM 表名 ORDER BY 属性名 [ASC(升序)|DESC(降序)]

  • GROUP BY分组查询
    GROUP BY 属性名 [HAVING 条件表达式][WITH ROLLUP]
     单独使用(毫无意义);
     与GROUP_CONCAT()函数一起使用;
     与聚合函数一起使用;(多数情况)
     与HAVING一起使用(限制输出的结果);
     与WITH ROLLUP一起使用(最后加入一个总和行)

  • LIMIT分页查询
    SELECT 字段1,字段2……FROM 表名 LIMIT 初始位置,记录数;

使用聚合函数查询###

  • COUNT()函数
    用来统计记录的条数;与GROUP BY关键字一起使用

  • SUN()函数
    求和函数;与GROUP BY关键字一起使用

  • AVG()函数
    求平均值函数;与GROUP BY关键字一起使用

  • MAX()函数
    求最大值函数;与GROUP BY关键字一起使用

  • MIN()函数
    求最小值函数;与GROUP BY关键字一起使用

连接查询###

将两个或两个以上的表按照某个条件连接起来,从中选取需要的数据

  • 内连接查询
    内连接查询是一种常用的连接查询。内连接查询可以查询两个或者两个以上的表
  • 外连接查询
    外连接查询可以查出一张表的所有信息;
    SELECT 属性名列表 FROM 表名1 LEFT|RIGHT JOIN 表名2 ON 表名1.属性名1=表名2.属性名2;
     左连接查询
    可以查询出“表名1”的所有记录,而“表名2”中,只能查询出匹配记录;
     右连接查询
    可以查询出“表名2”的所有记录,而“表名1”中,只能查询出匹配记录;
  • 多条件连接查询

子查询###

  • 带IN关键字的子查询
    一个查询条件可能落在另一个SELECT语句的查询结果中
  • 带比较运算符的子查询
    子查询可以使用比较运算符
  • 带Exits关键字的子查询
    假如子查询查询到记录,则进行外层查询,否者,不执行外层查询。
  • 带Any关键字的子查询
    Any关键字表示满足其中任一条件
  • 带All关键字的子查询
    All关键字表示满足所有的条件

合并查询结果###

  • UNION
    所有的查询结果合并在一起,然后除掉相同的记录
  • UNION ALL
    所有的查询结果合并在一起,不除掉相同的记录

为表和字段取别名###

  • 为表取别名
    格式:表名 表的别名
  • 为字段取别名
    格式:属性名 [As] 别名
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值