MySQL初识

相对于Mysql必知必会,我们这里有个5小时入门的系列

  • SQL语句的介绍
  • SQL语句的分类:
    • DDL
      • 操作的对象:数据库以及
      • 操作的类型:create(增加),drop(删除),alter(修改)
    • DML
      • 操作的对象:表数据
      • 操作的类型:insert(增加),delete(删除),update(修改)
    • DQL
      • 操作的对象:表数据
      • 操作的类型:各种维度的select(查询:简单查询,条件查询,模糊查询,分组查询)
    • DCL(主要关乎权限的,不做主要学习)
  • MySQL数据库的约束(为了保证数据的正确性,有效性和完整性)

    • 主键约束、唯一约束、非空约束

      MySQL的安装和卸载(windows)

  • 卸载:

    • win + R,输入services.msc,找到MySQL80服务,右键选择停止
    • 在windows当中昂找到应用卸载,卸载一切和MySQL相关的模块软件
    • 找到MySQL的安装目录,删除残留文件(默认会根据不同系统安装在Program Files或者Program Files(x86)当中,在两个文件夹当中找到MySQL直接删除)
    • 在C盘当中找到隐藏文件programData,删除/programData/MySQL
  • 安装:
    • 去官网找到mysql的安装msi文件
    • 然后一路next或者excute,输入密码的的时候输入自己设置的密码即可
  • 启动(三种方式)
    • 我的电脑-> 右键-> 管理 -> 服务和应用程序 -> 服务 ->MySQL80->右键->启动
    • win+ R->输入services.msc -> 服务和应用程序 -> 服务 ->MySQL80->右键->启动
    • 以管理员身份访问cmd (开始菜单搜索cmd,右键以管理员身份打开)-> net start mysql80

MySQL基础语法

1. doc连接数据库

连接数据库使用命令行,如果将mysql配置到环境变量的话,可以在任何地方使用mysql的命令,如果没有,那么必须要在mysql安装的地方去使用mysql命令,比如我只能在下面这个地址去使用mysql命令:

  1. C:\Program Files\MySQL\MySQL Server 8.0\bin>

确定好位置之后,我们有三种连接数据库的方式:

  1. mysql -uroor -p
  2. Enter password: **************
  1. mysql -hlocalhost -uroot -p
  2. Enter password: **************
  1. mysql -host=127.0.0.1 --user=root --password=**************

2. DBMS,数据库和表的关系

DBMS数数据库服务器当中内置的一个套数据库管理系统,对数据库进行统一管理和控制,以保证数据库的安全性和完整性,用户通过数据库管理系统访问数据库中表内的数据。
1652666023(1).png

3. SQL的概述以及分类

SQL查询语言(Structured Query Language)就是对数据库进行操作的一种语言。通过SQL语句我们可以方便的操作数据库中的数据库数据

关于分类,我们前面就已经介绍了,DDL.DML,DQL还有DCL,下面我们来说一下SQL的通用语法:

  • SQL可以单行或者多行写,以分号结尾;
  • 可使用空格和缩进来增强语句的可读性;
  • MYSQL数据库的SQL语句不区分大小写,关键字建议使用大写。
    1. SELECT * FROM student;

MySQL之DDL语句

1. DDL语句操作数据库

(1)创建数据库

  • 使用判断的方式去创建数据库可以避免SQL卡主,避免后续SQL不执行这种情况 ```sql mysql> CREATE DATABASE db1; # 创建数据库 Query OK, 1 row affected (3.15 sec)

mysql> CREATE DATABASE IF NOT EXISTS db1; # 创建数据库(先判读,如果存在就不创建) Query OK, 1 row affected, 1 warning (0.14 sec)

mysql> SHOW DATABASES; # 查看数据库 +——————————+ | Database | +——————————+ | db1 | | emos | | information_schema | | mysql | | performance_schema | | sys | +——————————+ 6 rows in set (1.28 sec)

  1. <a name="ByK01"></a>
  2. #### (2)设置字符集
  3. ```sql
  4. mysql> show variables like 'character_set_server'; # 数据库默认创建数据库使用的字符集
  5. +----------------------+---------+
  6. | Variable_name | Value |
  7. +----------------------+---------+
  8. | character_set_server | utf8mb4 |
  9. +----------------------+---------+
  10. 1 row in set, 1 warning (0.82 sec)
  11. mysql> CREATE DATABASE IF NOT EXISTS db2 CHARACTER SET utf8; # 创建的时候设置字符集
  12. Query OK, 1 row affected, 1 warning (0.23 sec)
  13. mysql> SHOW CREATE DATABASE db1; # 查看数据库在创建时候的语句和相关信息
  14. +----------+--------------------------------------------------------------------
  15. -----------------------------------------------------------+
  16. | Database | Create Database
  17. |
  18. +----------+--------------------------------------------------------------------
  19. -----------------------------------------------------------+
  20. | db1 | CREATE DATABASE `db1` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLAT
  21. E utf8mb4_0900_ai_ci */ /*!80016 DEFAULT ENCRYPTION='N' */ |
  22. +----------+--------------------------------------------------------------------
  23. -----------------------------------------------------------+
  24. 1 row in set (0.00 sec)

(3)修改数据库

  1. mysql> ALTER DATABASE db2 DEFAULT CHARACTER SET utf8mb4; # 修改数据库字符集
  2. Query OK, 1 row affected (0.36 sec)

(4)删除数据库

  1. mysql> DROP DATABASE db3;
  2. Query OK, 0 rows affected (2.19 sec)

(5)使用数据库

  1. mysql> USE db1; # 使用数据库
  2. Database changed
  3. mysql> SELECT DATABASE(); # 查看当前正在使用的数据库
  4. +------------+
  5. | DATABASE() |
  6. +------------+
  7. | db1 |
  8. +------------+
  9. 1 row in set (0.00 sec)