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)。
**每一个字段应该包括哪些属性?**
字段名、数据类型。相关的约束。
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)