Mysql系列 – 第1天:mysql基础知识

这是mysql系列第1篇。

本文主要内容

  1. 背景介绍
  2. 数据库基础知识介绍
  3. mysql的安装
  4. mysql常用的一些命令介绍
  5. SQL分类

背景介绍

我们每天都在访问各种网站、APP,如微信、QQ、抖音、今日头条、腾讯新闻等,这些东西上面都存在大量的信息,这些信息都需要有地方存储,存储在哪呢?数据库。

所以如果我们需要开发一个网站、app,数据库我们必须掌握的技术,常用的数据库有mysql、oracle、sqlserver、db2等。

上面介绍的几个数据库,oracle性能排名第一,服务也是相当到位的,但是收费也是非常高的,金融公司对数据库稳定性要求比较高,一般会选择oracle。

mysql是免费的,其他几个目前暂时收费的,mysql在互联网公司使用率也是排名第一,资料也非常完善,社区也非常活跃,所以我们主要学习mysql。

mysql系列我们主要介绍

  1. mysql的基本使用
  2. mysql性能优化
  3. 开发过程中mysql一些优秀的案例介绍

数据库常见的概念

DB:数据库,存储数据的容器。

DBMS:数据库管理系统,又称为数据库软件或数据库产品,用于创建或管理DB。

SQL:结构化查询语言,用于和数据库通信的语言,不是某个数据库软件持有的,而是几乎所有的主流数据库软件通用的语言。中国人之间交流需要说汉语,和美国人之间交流需要说英语,和数据库沟通需要说SQL语言。

数据库存储数据的一些特点

  • 数据存放在表中,然后表存放在数据库中

  • 一个库中可以有多张表,每张表具有唯一的名称(表名)来标识自己

  • 表中有一个或多个列,列又称为“字段”,相当于java中的“属性”

  • 表中每一行数据,相当于java中的“对象”

安装mysql

官网下载mysql5.7.25:https://dev.mysql.com/downloads/mysql/5.7.html#downloads

linux中安装mysq
windows中安装mysql

mysql常用的一些命令

mysql启动2种方式

方式1:

cmd中运行services.msc

会打开服务窗口,在服务窗口中找到mysql服务,点击右键可以启动或者停止

方式2

以管理员身份运行cmd命令

停止命令:net stop mysql

启动命令:net start mysql

C:Windowssystem32>net stop mysql
mysql 服务正在停止.
mysql 服务已成功停止。


C:Windowssystem32>net start mysql
mysql 服务正在启动 .
mysql 服务已经启动成功。

注意:命令后面没有结束符号

mysql登录命令

mysql -h ip -P 端口 -u 用户名 -p

C:Windowssystem32>mysql -h localhost -P 3306 -u root -p
Enter password: *******
Welcome to the MySQL monitor.  Commands end with ; or g.
Your MySQL connection id is 10
Server version: 5.7.25-log MySQL Community Server (GPL)

Copyright (c) 2000, 2019, 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.

说明:

  • -P 大写的P后面跟上端口

  • 如果是登录本金ip和端口可以省略,如:

    mysql -u 用户名 -p
    
  • 可以通过上面的命令连接原创机器的mysql

查看数据库版本

mysql --version 或者mysql -V用于在未登录情况下,查看本机mysql版本:

C:Windowssystem32>mysql -V
mysql  Ver 14.14 Distrib 5.7.25, for Win64 (x86_64)

C:Windowssystem32>mysql --version
mysql  Ver 14.14 Distrib 5.7.25, for Win64 (x86_64)

select version();:登录情况下,查看链接的库版本:

mysql> select version();
+------------+
| version()  |
+------------+
| 5.7.25-log |
+------------+
1 row in set (0.00 sec)

显示所有数据库:show databases;

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| apolloconfigdb     |
| apolloportaldb     |
| config-server      |
| dblog              |
| diamond_devtest    |
| mysql              |
| nacos_config       |
| performance_schema |
| rs_elastic_job     |
| rs_master          |
| seata              |
| sys                |
+--------------------+
13 rows in set (0.00 sec)

进入指定的库:use 库名;

mysql> use seata;
Database changed

显示当前库中所有的表:show tables;

mysql> show tables;
+--------------------+
| Tables_in_dblog    |
+--------------------+
| biz_article        |
| biz_article_look   |
| biz_article_love   |
| biz_article_tags   |
| biz_comment        |
| biz_file           |
| biz_tags           |
| biz_type           |
| sys_config         |
| sys_link           |
| sys_log            |
| sys_notice         |
| sys_resources      |
| sys_role           |
| sys_role_resources |
| sys_template       |
| sys_update_recorde |
| sys_user           |
| sys_user_role      |
+--------------------+
19 rows in set (0.00 sec)

查看其他库中所有的表:show tables from 库名;

mysql> show tables from seata;
+-----------------+
| Tables_in_seata |
+-----------------+
| branch_table    |
| global_table    |
| lock_table      |
| t_account       |
| t_order         |
| t_storage       |
| undo_log        |
+-----------------+
7 rows in set (0.00 sec)

查看表的创建语句:show create table 表名;

mysql> show create table biz_tags;
+----------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table    | Create Table                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
+----------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| biz_tags | CREATE TABLE `biz_tags` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(50) NOT NULL COMMENT '书签名',
  `description` varchar(100) DEFAULT NULL COMMENT '描述',
  `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '添加时间',
  `update_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=21 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT              |
+----------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

查看表结构:desc 表名;

mysql> desc biz_tags;
+-------------+---------------------+------+-----+-------------------+----------------+
| Field       | Type                | Null | Key | Default           | Extra          |
+-------------+---------------------+------+-----+-------------------+----------------+
| id          | bigint(20) unsigned | NO   | PRI | NULL              | auto_increment |
| name        | varchar(50)         | NO   |     | NULL              |                |
| description | varchar(100)        | YES  |     | NULL              |                |
| create_time | datetime            | YES  |     | CURRENT_TIMESTAMP |                |
| update_time | datetime            | YES  |     | CURRENT_TIMESTAMP |                |
+-------------+---------------------+------+-----+-------------------+----------------+
5 rows in set (0.00 sec)

查看当前所在库:select database();

C:Windowssystem32>mysql -h localhost -P 3306 -u root -p
Enter password: *******
Welcome to the MySQL monitor.  Commands end with ; or g.
Your MySQL connection id is 7
Server version: 5.7.25-log MySQL Community Server (GPL)

Copyright (c) 2000, 2019, 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> select database();
+------------+
| database() |
+------------+
| NULL       |
+------------+
1 row in set (0.00 sec)

mysql> use dblog;
Database changed
mysql> select database();
+------------+
| database() |
+------------+
| dblog      |
+------------+
1 row in set (0.00 sec)

mysql语法规范

  1. 不区分大小写,但建议关键字大写,表名、列名小写
  2. 每条命令最好用英文分号结尾
  3. 每条命令根据需要,可以进行缩进或换行
  4. 注释
    • 单行注释:#注释文字
    • 单行注释:-- 注释文字 ,注意, 这里需要加空格
    • 多行注释:/ 注释文字 /

SQL的语言分类

  • DQL(Data Query Language):数据查询语言
    select 相关语句
  • DML(Data Manipulate Language):数据操作语言
    insert 、update、delete 语句
  • DDL(Data Define Languge):数据定义语言
    create、drop、alter 语句
  • TCL(Transaction Control Language):事务控制语言
    set autocommit=0、start transaction、savepoint、commit、rollback

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

关注我们