MySQL初步学习及实例1

发布于:2022-12-26 ⋅ 阅读:(514) ⋅ 点赞:(0)

目录

 数据库和SQL概述

1.1 数据库简介

1.2 数据库的好处

1.3 数据库相关概念

二.MySQL的卸载与安装

三.MySQL的启动与停止

1.启动

方法一:计算机管理→服务和应用程序→服务→MySQL80→右键属性→启动类型→手动

方式二:通过管理员身份运行cmd命令提示行 ​

配置环境变量及修改密码

2.4 MySQL服务的登录和退出

方式一:通过MySQL自带的客户端 ​ 只限于root用户

方式二:通过cmd命令提示行关闭,未配置MySQL环境变量,需在MySQL安装的bin下启动cmd

常见命令:

查看里面有什么: show databases;

查看指定库:

use 库名    use sys;

打开表   show tables; 

show tables from 库名;(但其实还在use的库内 )

show tables from mysql;

 如何查看当前所在的库:

 select database();

 实例:创建一个学生信息表

 查看结构: desc stuinfo;

​编辑

 查看内容:

 select * from stuinfo;

 插入内容

 insert into stuinfo (id,name) value(1,'huo');

 insert into stuinfo (id,name) value(2,'you');

出现问题:

解决方法:

 总结:

1.查看当前所有的数据库

show databases;2.打开指定的库

use 库名;3.查看当前库的所有表

show tables;4.查看其它库的所有表

show tables from 库名;

5.创建表create table 表名(列名列类型,

列名列类型,. . .);6.查看表结构

desc表名;7.查看服务器的版本方式一∶登录到mysq1服务端

select version( );

​编辑方式二∶没有登录到mysq1服务端

mysql --version或mysql -V


 数据库和SQL概述

1.1 数据库简介

数据库指的是长期存在计算机内、有组织、可共享的、大量数据的集合。数据是按照特定的数据模型来组织、存储在数据库中的。

1.2 数据库的好处

1.持久化数据到本地 ​ 2.可以实现结构化查询,方便管理

1.3 数据库相关概念

  • DB(database):数据库,保存一组有组织的数据的容器

  • DBMS(Database Management System):数据库管理系统,又称为数据库软件(产品),用于管理DB中的数据

    • 常见DBMS:MySQL、Oracle、DB2、SqlServer等

  • SQL(SructureQueryLanguage):结构化查询语言,用于和DBMS通信的语言

二.MySQL的卸载与安装

http://t.csdn.cn/qI9lJ

**注意**:安装路径不要包含中文或者空格等特殊字符(使用纯英文目录),默认安装在C盘(可更改,建议不要安装在c盘)

三.MySQL的启动与停止

1.启动

方法一:计算机管理→服务和应用程序→服务→MySQL80→右键属性→启动类型→手动

方式二:通过管理员身份运行cmd命令提示行 ​

net start mysql(启动服务) ​

net stop mysql(停止服务)

输入命令后显示“服务名无效。”,那就是环境变量没配置,所以不能直接唤起,

配置环境变量及修改密码

http://t.csdn.cn/A4PQW

运行成功

2.4 MySQL服务的登录和退出

方式一:通过MySQL自带的客户端 ​ 只限于root用户

方式二:通过cmd命令提示行关闭,未配置MySQL环境变量,需在MySQL安装的bin下启动cmd

登录: ​ mysql 【-h主机名 -P端口号 】-u用户名 -p密码

  mysql -h localhost -P 3306 -u root -p

简写: mysql -u root -p123321

退出: ​ exit或ctrl+C 

常见命令:

查看里面有什么: show databases;

 四个数据库

查看指定库:

use 库名    use sys;

打开表   show tables; 

 也可以合并成一句

show tables from 库名;(但其实还在use的库内 )

show tables from mysql;

 如何查看当前所在的库:

 select database();

 实例:创建一个学生信息表

mysql> create table stuinfo(
    -> id int,
    -> name varchar(20));
Query OK, 0 rows affected (0.39 sec)

查看表:

 show tables;

 

 查看结构: desc stuinfo;

 查看内容:

 select * from stuinfo;

里面没加内容,为空

 插入内容

 insert into stuinfo (id,name) value(1,'huo');

 insert into stuinfo (id,name) value(2,'you');

再次查看:

 select * from stuinfo;

出现问题:

第二天来进行添加操作updata stuinfo set name='ziying' where id=3;,结果出现服务器丢失连接

Lost connection to MySQL server during query,字面意思就是在查询过程中丢失连接到MySQL服务器。

 造成这样的原因一般是sql操作的时间过长,或者是传送的数据太大(例如使用insert ... values的语句过长, 这种情况可以通过修改max_allowed_packed的配置参数来避免,也可以在程序中将数据分批插入)。

产生这个问题的原因有很多,总结下网上的分析:

原因一. MySQL 服务宕了

判断是否属于这个原因的方法很简单,进入mysql控制台,查看mysql的运行时长

mysql> show global status like 'uptime';

 或者查看MySQL的报错日志,看看有没有重启的信息

如果uptime数值很大,表明mysql服务运行了很久了。说明最近服务没有重启过。
如果日志没有相关信息,也表名mysql服务最近没有重启过,可以继续检查下面几项内容。

原因二. mysql连接超时

即某个mysql长连接很久没有新的请求发起,达到了server端的timeout,被server强行关闭。
此后再通过这个connection发起查询的时候,就会报错server has gone away
(大部分PHP脚本就是属于此类)

mysql> show global variables like '%timeout';

 wait_timeout 是28800秒,即mysql链接在无操作28800秒后被自动关闭

解决方法:

在my.ini配置文件 mysqld 节点下添加

max_allowed_packet = 500M

也就是配置MySQL允许的最大数据包大小,上面的500M你可以根据你的项目修改为你自己的值,只要比要导入的备份文件大就可以了。

并且结束当前任务重新进入mysql

mysql> exit    #结束当前mysql
Bye

C:\WINDOWS\system32>mysql -u root -p123321    #登录
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 16
Server version: 8.0.30 MySQL Community Server - GPL

Copyright (c) 2000, 2022, Oracle and/or its affiliates.

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 * from stuinfo;
ERROR 1046 (3D000): No database selected
mysql> show databases;   #查看库
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.01 sec)

mysql> use sys     #使用use库
Database changed
mysql>  show tables;      #查看表
+-----------------------------------------------+
| Tables_in_sys                                 |
+-----------------------------------------------+
| host_summary                                  |
| host_summary_by_file_io                       |
| host_summary_by_file_io_type                  |
| host_summary_by_stages                        |
| host_summary_by_statement_latency             |
| host_summary_by_statement_type                |
| innodb_buffer_stats_by_schema                 |
| innodb_buffer_stats_by_table                  |
| innodb_lock_waits                             |
| io_by_thread_by_latency                       |
| io_global_by_file_by_bytes                    |
| io_global_by_file_by_latency                  |
| io_global_by_wait_by_bytes                    |
| io_global_by_wait_by_latency                  |
| latest_file_io                                |
| memory_by_host_by_current_bytes               |
| memory_by_thread_by_current_bytes             |
| memory_by_user_by_current_bytes               |
| memory_global_by_current_bytes                |
| memory_global_total                           |
| metrics                                       |
| processlist                                   |
| ps_check_lost_instrumentation                 |
| schema_auto_increment_columns                 |
| schema_index_statistics                       |
| schema_object_overview                        |
| schema_redundant_indexes                      |
| schema_table_lock_waits                       |
| schema_table_statistics                       |
| schema_table_statistics_with_buffer           |
| schema_tables_with_full_table_scans           |
| schema_unused_indexes                         |
| session                                       |
| session_ssl_status                            |
| statement_analysis                            |
| statements_with_errors_or_warnings            |
| statements_with_full_table_scans              |
| statements_with_runtimes_in_95th_percentile   |
| statements_with_sorting                       |
| statements_with_temp_tables                   |
| stuinfo                                       |
| sys_config                                    |
| user_summary                                  |
| user_summary_by_file_io                       |
| user_summary_by_file_io_type                  |
| user_summary_by_stages                        |
| user_summary_by_statement_latency             |
| user_summary_by_statement_type                |
| version                                       |
| wait_classes_global_by_avg_latency            |
| wait_classes_global_by_latency                |
| waits_by_host_by_latency                      |
| waits_by_user_by_latency                      |
| waits_global_by_latency                       |
| x$host_summary                                |
| x$host_summary_by_file_io                     |
| x$host_summary_by_file_io_type                |
| x$host_summary_by_stages                      |
| x$host_summary_by_statement_latency           |
| x$host_summary_by_statement_type              |
| x$innodb_buffer_stats_by_schema               |
| x$innodb_buffer_stats_by_table                |
| x$innodb_lock_waits                           |
| x$io_by_thread_by_latency                     |
| x$io_global_by_file_by_bytes                  |
| x$io_global_by_file_by_latency                |
| x$io_global_by_wait_by_bytes                  |
| x$io_global_by_wait_by_latency                |
| x$latest_file_io                              |
| x$memory_by_host_by_current_bytes             |
| x$memory_by_thread_by_current_bytes           |
| x$memory_by_user_by_current_bytes             |
| x$memory_global_by_current_bytes              |
| x$memory_global_total                         |
| x$processlist                                 |
| x$ps_digest_95th_percentile_by_avg_us         |
| x$ps_digest_avg_latency_distribution          |
| x$ps_schema_table_statistics_io               |
| x$schema_flattened_keys                       |
| x$schema_index_statistics                     |
| x$schema_table_lock_waits                     |
| x$schema_table_statistics                     |
| x$schema_table_statistics_with_buffer         |
| x$schema_tables_with_full_table_scans         |
| x$session                                     |
| x$statement_analysis                          |
| x$statements_with_errors_or_warnings          |
| x$statements_with_full_table_scans            |
| x$statements_with_runtimes_in_95th_percentile |
| x$statements_with_sorting                     |
| x$statements_with_temp_tables                 |
| x$user_summary                                |
| x$user_summary_by_file_io                     |
| x$user_summary_by_file_io_type                |
| x$user_summary_by_stages                      |
| x$user_summary_by_statement_latency           |
| x$user_summary_by_statement_type              |
| x$wait_classes_global_by_avg_latency          |
| x$wait_classes_global_by_latency              |
| x$waits_by_host_by_latency                    |
| x$waits_by_user_by_latency                    |
| x$waits_global_by_latency                     |
+-----------------------------------------------+
102 rows in set (0.01 sec)

mysql> desc stuinfo;     #查询结构
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id    | int         | YES  |     | NULL    |       |
| name  | varchar(20) | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.01 sec)

mysql> insert into stuinfo (id,name) value(1,'huo');   #插入信息1
Query OK, 1 row affected (0.21 sec)

mysql>  insert into stuinfo (id,name) value(2,'you');  #插入信息2
Query OK, 1 row affected (0.10 sec)

mysql>  insert into stuinfo (id,name) value(3,'zimei');   #插入信息3
Query OK, 1 row affected (0.10 sec)

mysql> select * from stuinfo;   #再次查询创建的stuinfo表
+------+-------+
| id   | name  |
+------+-------+
|    1 | huo   |
|    2 | you   |
|    3 | zimei |
|    1 | huo   |
|    2 | you   |
|    3 | zimei |
+------+-------+
6 rows in set (0.00 sec)

可以看到昨天添加的信息还在,并不因为关闭了mysql而消失。 

mysql> updata stuinfo set name='ziying' where id=3;    #更新函数
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'updata stuinfo set name='ziying' where id=3' at line 1
错误1064(42000):您的sql语法出现了错误;请检查与mysql服务器版本对应的手册,以获得在第1行“Updata stuinfo set name=ziyingwhere id=3”附近使用的正确语法。

试着删除一下 delete from stuinfo where id=3;

结果两行id为3的数据都被删除了

 破案了,原来是update输入出错,改正就能正确运行,紫魅也被改成紫影了

 mysql>  insert into stuinfo (id,name) value(3,'zimei');    #插入信息3
Query OK, 1 row affected (0.02 sec)

mysql> select * from stuinfo;
+------+-------+
| id   | name  |
+------+-------+
|    1 | huo   |
|    2 | you   |
|    1 | huo   |
|    2 | you   |
|    3 | zimei |
+------+-------+
5 rows in set (0.00 sec)

mysql> updata stuinfo set name='ziying' where id=3;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'updata stuinfo set name='ziying' where id=3' at line 1
mysql> update stuinfo set name='ziying' where id=3;   #更新数据
Query OK, 1 row affected (0.16 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> select * from stuinfo;
+------+--------+
| id   | name   |
+------+--------+
|    1 | huo    |
|    2 | you    |
|    1 | huo    |
|    2 | you    |
|    3 | ziying |
+------+--------+
5 rows in set (0.00 sec)

 总结:

1.查看当前所有的数据库

show databases;
2.打开指定的库

use 库名;
3.查看当前库的所有表

show tables;
4.查看其它库的所有表

show tables from 库名;

5.创建表
create table 表名(
列名列类型,

列名列类型,. . .
);

6.查看表结构

desc表名;
7.查看服务器的版本
方式一∶登录到mysq1服务端

select version( );


方式二∶没有登录到mysq1服务端

mysql --version

mysql -V

以上就是MySQL初步学习及实例1的内容,感谢观看!


网站公告

今日签到

点亮在社区的每一天
去签到