MySql数据库学习一: 简述与了解

1、sql、DB、DBMS分别是什么,他们之间的关系?

答:DB:DataBase(数据库,数据库实际上在硬件上以文件的形式存在);

DBMS:DataBase Management System(数据库管理系统,常见的有:MySQL,Oracle , DB2 , Sysbase , sqlServer ……);

SQL:结构化查询语言,是一门标准通用的语言。标准的sql适合于所有的数据库产品。SQL属于高级语言,只要能看懂英语单词的,写出来的sql语句,可以读懂什么意思。SQL语句在执行的时候,实际上内也会先进行编译,然后再执行sql。(sql语句的编译由DBMS完成)

DBMS负责执行sql语句,通过执行sql语句来操作DB当中的数据。

DBMS - (执行) -> SQL -(操作) -> DB

2、什么是表

答:table 是数据库的基本组成单元所有的数据都以表格的形式组织,目的是可读性强。

一个表包括行和列:①行:被称为数据/记录(data) ; ②列:被称为字段(column)。

mysql与db2的sql差异 sql和db_sql

**每一个字段应该包括哪些属性?**
	字段名、数据类型。相关的约束。

3、学习MYSQL主要还是学习SQL语句,那么SQL语句包括增删改查,sql语句怎么分类呢?
**DQL(数据查询语言):**查询语句,凡是select的语句都是DQL
DML(数据操纵语言): insert ,delete,update,对表当中的数据进行增删改
DDL(数据定义语言): create,drop,alter,对表结构的增删改
TCL(事务控制语言): commit提交事务,rollback回滚事务。(TCL中的T是Transaction)
DCL(数据控制语言): grant授权、revoke撤销权限等

4、导入数据—命令行(以下都不是sql语句,属于MYSQL的命令)
第一步:登录mysql:

mysql -u root -p
第二步:查看有那些数据库
mysql> show databases;
+-------------------------+
| Database                |
+-------------------------+
| community_resource_test |
| db2019                  |
| information_schema      |
| mybatis_plus            |
| mysql                   |
| news                    |
| performance_schema      |
| ssmcs7b8                |
| switch_cloud_new        |
| sys                     |
| testwork                |
| view                    |
| vueadmin                |
| xxl_job                 |
| yygh_cmn                |
| yygh_hosp               |
| yygh_manage             |
| yygh_order              |
| yygh_user               |
+-------------------------+
19 rows in set (0.70 sec)

第三步:创建属于我们自己的数据库

mysql> create database studytestnode;
Query OK, 1 row affected (0.67 sec)

第四步:使用studytestnode数据

mysql> use studytestnode;
Database changed

第五步:查看当前使用的数据库(xxl_job、studytestnode)中有那些表

mysql> show tables;
+--------------------+
| Tables_in_xxl_job  |
+--------------------+
| xxl_job_group      |
| xxl_job_info       |
| xxl_job_lock       |
| xxl_job_log        |
| xxl_job_log_report |
| xxl_job_logglue    |
| xxl_job_registry   |
| xxl_job_user       |
+--------------------+
8 rows in set (0.22 sec)
mysql> use studytestnode;
Database changed
mysql> show tables;
Empty set (0.00 sec)

第六步:初始化数据
mysql> source D:\course\resourcesstudytestnode.sql
注意:数据初始化之后,有三个表:dept,emp。salgrade。

5、当以.sql结尾的文件,为“sql脚本”。什么是sql脚本呢?当一个文件的扩展名是.sql,并且该文件中编写了大量的sql语句,我们称这样的文件为sql脚本。

6、删除数据库

mysql> drop database studytestnode;
Query OK, 0 rows affected (0.36 sec)

7、查看表结构

mysql> DESC base_community;
+-------------------------+---------------+------+-----+---------+----------------+
| Field                   | Type          | Null | Key | Default | Extra          |
+-------------------------+---------------+------+-----+---------+----------------+
| id                      | int           | NO   | PRI | NULL    | auto_increment |
| code                    | varchar(32)   | YES  | MUL | NULL    |                |
| name                    | varchar(50)   | YES  |     | NULL    |                |
| address_code            | varchar(50)   | YES  |     | NULL    |                |
| address                 | varchar(200)  | YES  |     | NULL    |                |
| floor_area              | decimal(18,2) | YES  |     | NULL    |                |
| building_area           | decimal(18,2) | YES  |     | NULL    |                |
| pm_company_code         | varchar(32)   | YES  |     | NULL    |                |
| pm_company_name         | varchar(200)  | YES  |     | NULL    |                |
| pm_company_person       | varchar(50)   | YES  |     | NULL    |                |
| pm_company_phone        | varchar(20)   | YES  |     | NULL    |                |
| estate_developer_name   | varchar(200)  | YES  |     | NULL    |                |
| estate_developer_person | varchar(50)   | YES  |     | NULL    |                |
| estate_developer_phone  | varchar(20)   | YES  |     | NULL    |                |
| op_date                 | datetime      | YES  |     | NULL    |                |
| area                    | varchar(20)   | YES  |     | NULL    |                |
| area_name               | varchar(50)   | YES  |     | NULL    |                |
| location                | varchar(100)  | YES  |     | NULL    |                |
| location_area           | longtext      | YES  |     | NULL    |                |
| subdistrict_code        | varchar(32)   | YES  |     | NULL    |                |
| subdistrict_name        | varchar(50)   | YES  |     | NULL    |                |
| subdistrict_location    | varchar(100)  | YES  |     | NULL    |                |
| street_code             | varchar(32)   | YES  |     | NULL    |                |
| street_name             | varchar(50)   | YES  |     | NULL    |                |
| green_area              | decimal(18,2) | YES  |     | NULL    |                |
| type                    | smallint      | YES  |     | NULL    |                |
| type_name               | varchar(255)  | YES  |     | NULL    |                |
| panorama                | text          | YES  |     | NULL    |                |
| image                   | varchar(255)  | YES  |     | NULL    |                |
| label                   | varchar(255)  | YES  |     | NULL    |                |
| machine_check_status    | smallint      | YES  |     | NULL    |                |
| artificial_check_status | smallint      | YES  |     | NULL    |                |
| t_address_code          | varchar(100)  | YES  |     | NULL    |                |
| t_address_name          | varchar(200)  | YES  |     | NULL    |                |
| t_name                  | varchar(50)   | YES  |     | NULL    |                |
| t_duty_code             | varchar(50)   | YES  |     | NULL    |                |
| t_duty_person           | varchar(50)   | YES  |     | NULL    |                |
| t_duty_phone            | varchar(255)  | YES  |     | NULL    |                |
| t_duty_name             | varchar(255)  | YES  |     | NULL    |                |
| t_type                  | varchar(255)  | YES  |     | NULL    |                |
| t_building_number       | int           | YES  |     | NULL    |                |
| t_person_inout_number   | int           | YES  |     | NULL    |                |
| t_car_inout_number      | int           | YES  |     | NULL    |                |
| t_maintenance_name      | varchar(255)  | YES  |     | NULL    |                |
| t_maintenace_phone      | varchar(255)  | YES  |     | NULL    |                |
| t_street_name           | varchar(255)  | YES  |     | NULL    |                |
| t_level                 | varchar(255)  | YES  |     | NULL    |                |
+-------------------------+---------------+------+-----+---------+----------------+
47 rows in set (0.00 sec)

8、表中的数据
这个是sql语言:select * from 表名

mysql> select * from scan_problem_info_item;
+----+------+--------------------+
| id | type | type_name          |
+----+------+--------------------+
|  1 | 1    | 基础信息缺失       |
|  2 | 2    | 抓拍设备异常       |
|  3 | 3    | 数据质量问题       |
|  4 | 4    | 视频设备异常       |
|  5 | 5    | 其他               |
+----+------+--------------------+
5 rows in set (0.28 sec)

9、常用命令

查看当前使用的是哪个数据库
mysql> select database();     
+------------------+
| database()       |
+------------------+
| switch_cloud_new |
+------------------+
1 row in set (0.00 sec)

查看mysql的版本号
mysql> select version();
+-----------+
| version() |
+-----------+
| 8.0.24    |
+-----------+
1 row in set (0.00 sec)
终止一条语句:可以键入\c
mysql> select
    ->
    ->
    ->
    ->
    -> \c
mysql>
退出mysql,可以使用q、QUIT或者EXIT
如:mysql>\q(ctrl+c)