(1)数据库管理【MySQL】

一、Note

1、登录及配置

  • 使用 图形界面 登录

  • 在 命令提示符cmd 或 终端 登录

    • mysql -u 用户名 -p
    • 例:mysql -u root -p 可以管理员root身份登录MySQL,无需密码
    • 可以使用mysql命令是因为有这个exe文件:MYSQL_HOME/bin/mysql.exe
    • 在环境变量的Path中加入MySQL…\bin路径,之后可在cmd任意位置直接【mysql -u 用户名 -p】登录
  • 如果MySQL允许远程连接,则可以用mysql -h 主机ip地址 -u 用户名 -p 密码来连接其他电脑上的mysql数据库

    • 例如登录本机:mysql -h127.0.0.1 -uroot -proot(以root用户登录,密码为root)
    • 或:mysql --host-127.0.0.1 --user-root --password-root

2、数据库管理

  • 2.1、创建数据库

    • MySQL 5

      • CREATE DATABASE 数据库名 DEFAULT CHARACTER SET utf8mb4 ;
      • 需要自己指定编码格式utf8,这才是utf8的真正写法utf8mb4
    • MySQL 8

      • CREATE DATABASE 数据库名 ;
      • CREATE DATABASE if not exists 数据库名
  • 2.2、列出当前用户所能支配的所有数据库

    • show databases ;
  • 2.3、选择要连接的数据库

    • USE 数据库名 ;
  • 2.4、查看当前正在使用的数据库(已连接的)

    • SELECT database() ;

    • 建议写:SELECT database() FROM dual ;

      • Oracle收购Sun公司后更改的写法,这样更符合查询语句的规范
  • 2.5、查看建库信息

    • SHOW CREATE DATABASE 数据库名 ;
    • 可查看到数据库的字符集
  • 2.6、修改数据库的字符集

    • ALTER DATABASE 数据库名称 CHARACTER SET 字符集名称;
  • 2.7、删除数据库

    • DROP DATABASE 数据库名 ;
    • DROP DATABASE if exists 数据库名

二、Code

数据库管理

  • 以root用户身份登录:mysql -u root -p
  • 查看当前用户
    • SELECT user() ;
    • SELECT user() FROM dual ;
  • 查看所有用户及其域名
    • select user.host from mysql.user;
  • 列出当前用户拥有操作权限的所有的数据库
    • show databases ;
  • 查看当前正在使用的数据库
    • SELECT database() ;
    • SELECT database() FROM dual ;
  • 创建数据库
    • CREATE DATABASE ecut ;
  • 列出当前用户所能支配的所有数据库
    • show databases ;
  • 选择数据库 ( 也有人称作 打开数据库 、连接数据库 等 )
    • USE ecut ;
  • 查看建库信息
    • show create database ecut ;
  • 列出当前已选的数据库中所有的表
    • show tables ;
  • 删除数据库
    • drop database ecut ;

具体sql命令:

D:\>mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 11
Server version: 8.0.20 MySQL Community Server - GPL

Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> -- 登录成功后,提示符是 mysql>
mysql>
mysql> -- 查看当前用户
mysql> SELECT user() ;
+----------------+                                                                           | user()         |
+----------------+
| root@localhost |
+----------------+
1 row in set (0.00 sec)

mysql> SELECT user() FROM dual ;
+----------------+
| user()         |
+----------------+
| root@localhost |
+----------------+
1 row in set (0.00 sec)

mysql>
mysql> -- 列出当前用户拥有操作权限的所有的数据库
mysql> show databases ;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)

mysql> -- 查看当前正在使用的数据库
mysql>
mysql> SELECT database() ;
+------------+
| database() |
+------------+
| NULL       |
+------------+
1 row in set (0.00 sec)
mysql> SELECT database() FROM dual ;
+------------+
| database() |                                                                               +------------+
| NULL       |
+------------+
1 row in set (0.00 sec)

mysql> -- 创建数据库
mysql>
mysql> CREATE DATABASE ecut ;
Query OK, 1 row affected (0.01 sec)

mysql>
mysql> -- 列出(当前用户所能支配的所有)数据库
mysql>
mysql> show databases ;
+--------------------+
| Database           |
+--------------------+
| ecut               |
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.00 sec)

mysql> -- 选择数据库 ( 也有人称作 打开数据库 、连接数据库 等 )
mysql>
mysql> USE ecut ;
Database changed
mysql>
mysql>
mysql>
mysql> -- 查看当前数据库
mysql>
mysql> SELECT database() FROM dual ;
+------------+
| database() |
+------------+
| ecut       |
+------------+
1 row in set (0.00 sec)

mysql>
mysql>
mysql> -- 查看建库信息
mysql>
mysql> show create database ecut ;
+----------+--------------------------------------------------------------------------------------------------------------------------------+
| Database | Create Database                                                                                                                |
+----------+--------------------------------------------------------------------------------------------------------------------------------+
| ecut     | CREATE DATABASE `ecut` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci */ /*!80016 DEFAULT ENCRYPTION='N' */ |
+----------+--------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

mysql> -- 列出当前已选的数据库中所有的表
mysql>
mysql> show tables ;
Empty set (0.01 sec)

mysql> -- 删除数据库
mysql> drop database ecut ;
Query OK, 0 rows affected (0.01 sec)

mysql> -- 列出当前用户拥有操作权限的所有的数据库
mysql> show databases ;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)

mysql>
限时福利1:原价 129 元,最后2天仅需 69 元!后天涨价至98元 限时福利2:购课进答疑群专享柳峰(刘运强)老师答疑服务 限时福利3:购课添加助教领取价值 800 元的编程大礼包 为什么需要掌握高性能的MySQL实战? 由于互联网产品用户量大、高并发请求场景多,因此对MySQL的性能、可用性、扩展性都提出了很高的要求。使用MySQL解决大量数据以及高并发请求已经是程序员的必备技能,也是衡量一个程序员能力和薪资的标准之一。 为了让大家快速系统了解高性能MySQL核心知识全貌,我为你总结了「高性能 MySQL 知识框架图」,帮你梳理学习重点,建议收藏! 【课程设计】 课程分为四大篇章,将为你建立完整的 MySQL 知识体系,同时将重点讲解 MySQL 底层运行原理、数据库的性能调优、高并发、海量业务处理、面试解析等。 一、性能优化篇: 主要包括经典 MySQL 问题剖析、索引底层原理和事务与锁机制。通过深入理解 MySQL 的索引结构 B+Tree ,学员能够从根本上弄懂为什么有些 SQL 走索引、有些不走索引,从而彻底掌握索引的使用和优化技巧,能够避开很多实战中遇到的“坑”。 二、MySQL 8.0新特性篇: 主要包括窗口函数和通用表表达式。企业中的许多报表统计需求,如果不采用窗口函数,用普通的 SQL 语句是很难实现的。 三、高性能架构篇: 主要包括主从复制和读写分离。在企业的生产环境中,很少采用单台MySQL节点的情况,因为一旦单个节点发生故障,整个系统都不可用,后果往往不堪设想,因此掌握高可用架构的实现是非常有必要的。 四、面试篇: 程序员获得工作的第一步,就是高效的准备面试,面试篇主要从知识点回顾总结的角度出发,结合程序员面试高频MySQL问题精讲精练,帮助程序员吊打面试官,获得心仪的工作机会。
©️2020 CSDN 皮肤主题: 1024 设计师:上身试试 返回首页