黑马十天精通MySQL知识点

一. MySQL概述

安装使用

MySQL安装完成之后,在系统启动时,会自动启动MySQL服务,无需手动启动。

也可以手动的通过指令启动停止,以管理员身份运行cmd,进入命令行执行如下指令:
 

1 、 net start mysql80  启动

2、 net stop mysql80  关闭

二、SQL

1、SQL通用语法 

1). SQL语句可以单行或多行书写,以分号结尾。
2). SQL语句可以使用空格/缩进来增强语句的可读性。
4). 注释:
单行注释:-- 注释内容  或  # 注释内容
多行注释:/* 注释内容 */

2、SQL分类

三、DDL(对数据库和表的操作)

1、数据库操作 

1). 查询所有数据库
show databases ;
2). 查询当前数据库
 select database() ;
3). 创建数据库
     create database [ if not exists(当不存在数据库进行创建,存在不进行任何操作) ] 数据库名 
    [ default charset 字符集 {指定字符集}]  [ collate 排序规则 (指定排序规则)] 
4). 删除数据库
 drop database [ if exists {存在进行操作不存在则不进行}] 数据库名 ;
5.) 切换数据库
    use 数据库名 ;//需要使用时要进行使用数据库定义use

2、表操作 

1、表操作-查询

1、 查询当前数据库所有表
    show tables;
2、 查看指定表结构
      desc 表名;#查看当前表有那些字段
3、查询指定表的建表语句
    show create table 表名 ;

2、表操作-创建

    CREATE TABLE  表名(
字段1  字段1类型 [ COMMENT  字段1注释 ], 
字段2  字段2类型 [COMMENT  字段2注释 ],
字段3  字段3类型 [COMMENT  字段3注释 ],     #注释的话需要带着comment再写注释
 ......
字段n  字段n类型 [COMMENT  字段n注释 ]   #最后一个不用带逗号
) [ COMMENT  表注释 ] 

例如:

     create table tb_user(
 id int comment '编号',
 name varchar(50) comment '姓名',
 age int comment '年龄',
 gender varchar(1) comment '性别'
 ) comment '用户表';

3、表操作-数据类型 

1、数值类型

2、字符串类型 

3、 日期时间类型

4、表操作-修改 

     1、添加字段
        alter table 表名 add 字段名 类型(长度) [comment 注释]
    2、修改数据类型
        alter table 表名 modify 字段名  新数据类型 (长度);
    3、修改字段名和字段类型
        alert table 表名 change  旧字段名  新字段名  类型 (长度)  [ comment 注释 ]  [ 约束 ]
    4、删除字段
        alert table 表名 drop  字段名
    5、修改表名
    alert table 表名 rename to  新表名

5、 表操作-删除

1、删除表
        drop  table [ if  exists ]  表名
        可选项 if  exists 代表,只有表名存在时才会删除该表,表名不存在,则不执行删除操作
    2、 删除指定表, 并重新创建表
        truncate  table 表名

四、DML 

1、添加数据

# 查看数据表
select * from user
1). 给指定字段添加数据
  法一:  INSERT INTO 表名 (字段名1, 字段名2, ...)VALUES (值1, 值2, ...);
  法二:INSERT INTO 表名  set 字段名 =值
2). 给全部字段添加数据
     INSERT INTO 表名 VALUES (值1, 值2, ...);
3). 批量添加数据
给指定的字段添加: INSERT INTO 表名 (字段名1, 字段名2, ...)  VALUES (值1, 值2, ...), (值1, 值2, ...)
给全部添加:INSERT INTO 表名 VALUES (值1, 值2, ...), (值1, 值2, ...), (值1, 值2, ...) ;

2、修改数据 

语法:
    UPDATE 表名 SET 字段名1=值1,字段名2=值2.… [WHERE 条件];
  注意:修改语句的条件可以有,也可以没有,如果没有条件,则会修改整张表的所有数据。

3、 删除数据

语法:
    DELETE FROM 表名[WHEKE 条件]
  注意:
     DELETE语句的条件可以有,也可以没有,如果没有条件,则会删除整张表的所有数据
      DELETE 语句不能删除某一个字段的值(可以使用UPDATE,将该字段值置为NULL即可)。

五、 DQL

        1、基础查询

1). 查询多个字段
    SELECT 字段1, 字段2, 字段3 ... FROM 表名 ;
2).查询全部字段
    SELECT * FROM 表名 ;
3). 字段设置别名
    SELECT 字段1 [ AS 别名1 ] , 字段2 [ AS 别名2 ] ... FROM 表名; #也可以直接不带as
4). 去除重复记录
    SELECT DISTINCT 字段列表 FROM 表名;

      2、条件查询

语法:
SELECT  字段列表  FROM   表名   WHERE   条件列表 ;

3、 聚合函数

4、分组查询

语法:

 SELECT  字段列表  FROM   表名  [ WHERE   条件 ]  GROUP   BY  分组字段名  [ HAVING  分组
后过滤条件 ];

where与having区别

  • 执行时机不同:where是分组之前进行过滤,不满足where条件,不参与分组;而having是分组 之后对结果进行过滤。

  • 判断条件不同:where不能对聚合函数进行判断,而having可以。

注意事项:

  • 分组之后,查询的字段一般为聚合函数和分组字段,查询其他字段无任何意义。

  • 执行顺序: where > 聚合函数 > having 。

  • 支持多字段分组, 具体语法为 : group by columnA , columnB

5、排序查询

语法:

SELECT  字段列表  FROM   表名  ORDER  BY  字段1  排序方式1 , 字段2  排序方式2 ;

排序方式:

  • ASC:升序(默认值)

  • DESC:降序

注意:如果是多字段排序,当第一个字段值相同时,才会根据第二个字段进行排序。

6、分页查询

语法:

 SELECT  字段列表  FROM   表名  LIMIT  起始索引, 查询记录数 

注意事项:

  • 起始索引从0开始,起始索引 = (查询页码 - 1)* 每页显示记录数。(如查询2,每页有10条记录数的话,那起始索引就是10)

  • 分页查询是数据库的方言,不同的数据库有不同的实现,MySQL中是LIMIT。

  • 如果查询的是第一页数据,起始索引可以省略,直接简写为 limit 10。

7、 执行顺序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值