目录
方法一:计算机管理→服务和应用程序→服务→MySQL80→右键属性→启动类型→手动
方式二:通过cmd命令提示行关闭,未配置MySQL环境变量,需在MySQL安装的bin下启动cmd
show tables from 库名;(但其实还在use的库内 )
insert into stuinfo (id,name) value(1,'huo');
insert into stuinfo (id,name) value(2,'you');
desc表名;7.查看服务器的版本方式一∶登录到mysq1服务端
数据库和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的卸载与安装
**注意**:安装路径不要包含中文或者空格等特殊字符(使用纯英文目录),默认安装在C盘(可更改,建议不要安装在c盘)
三.MySQL的启动与停止
1.启动
方法一:计算机管理→服务和应用程序→服务→MySQL80→右键属性→启动类型→手动
方式二:通过管理员身份运行cmd命令提示行
net start mysql(启动服务)
net stop mysql(停止服务)
输入命令后显示“服务名无效。”,那就是环境变量没配置,所以不能直接唤起,
配置环境变量及修改密码
运行成功
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的内容,感谢观看!