常见的数据库错误
## 错误1
ERROR 2013 (HY000): Lost connection to MySQL server during query
解决: 重新执行 SQL 语句
## 错误2
先报错, 后执行 SQL 语句成功
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id: 14
Current database: gzsp
+------+--------------+-------------+
| id | student_name | student_sex |
+------+--------------+-------------+
| 2 | 小甜甜 | 女 |
| 1 | 张三 | 男 |
| 1 | 张三 | 男 |
| 2 | 小甜甜 | 女 |
+------+--------------+-------------+
4 rows in set (0.05 sec)
## 错误3
执行 use aaaa; SQL语句的时候报错
ERROR 1049 (42000): Unknown database 'aaaa'
错误原因: 数据库不存在
解决方案: 创建数据库
### 创建数据库
```sql
CREATE DATABASE gzsp;
```
## 错误4
执行 create database gzsp; SQL语句报错
ERROR 1007 (HY000): Can't create database 'gzsp'; database exists
原因: 数据库 gzsp 已经存在
解决方案:
1. 直接使用即可
2. 删除数据库再创建
## 错误5
执行 create table student.... ; SQL 语句报错
ERROR 1046 (3D000): No database selected
原因: 未选择数据库
解决方案: 使用 use 选择数据库
## 错误6
执行 create table student.... ; SQL 语句报错
ERROR 1050 (42S01): Table 'student' already exists
原因: 数据表已经存在
解决方案:
1. 直接操作数据表即可
2. 删除数据表再创建
## 常见的提示符
-> SQL一直无法执行, 原因: 没有 英文分号; 解决方法 \c 回车
"> 缺少一个双引号解决方法 "\c 回车
'> 缺少一个单引号解决方法 '\c 回车
常见的错误提示符
> : \c 回车
'> : '\c 回车 (错误原因: sql 语句中少写了单引号)
"> : "\c 回车 (错误原因: sql 语句中少写了双引号)
`> : `\c 回车 (错误原因: sql 语句中少写了 `)
s
插入数据
向学生条插入一条数据
+--------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------------+--------------+------+-----+---------+-------+
| id | int(11) | YES | | NULL | |
| student_name | varchar(255) | YES | | NULL | |
| student_sex | varchar(255) | YES | | NULL | |
+--------------+--------------+------+-----+---------+-------+
注意事项:
1. 数字 不需要使用 单引号
2. 字符串 需要使用 单引号 或者 双引号
3. 字段的顺序要和值的顺序一一对应
查询数据(字段与字段之间用 , 隔开)
SELECT 字段1, 字段2, 字段3 FROM 表名
select id from student;
select id, student_name from student;
* 代表所有的字段 (不建议生产环境使用)(生产环境建议: 按需查询)
select * from student;
条件查询
SELECT 字段1,字段2,字段3, FROM 表名; WHERE 字段名 = 字段值;
SELECT * FROM student WHERE student_name = '小甜甜';
SELECT * FROM student WHERE id = 1; select * from student where id = 2;
SELECT * FROM student WHERE student_sex = '男';
删除数据
语法
DELETE FROM 表名
删库跑路(不能执行): DELETE FROM student;
删除一定要加条件,删除之前一定要先查询
select * from student where student_name = '小甜甜';
delete from student where student_name = '小甜甜';
limit 限制条数(查询、删除)
SELECT * FROM student WHERE student_name = '小甜甜' limit 1;
delete from student where student_name = '小甜甜' limit 1;
# 数据库操作步骤
## 准备
1. 软件管理 安装 mysql 8.0
2. 启动 Mysql 8.0
3. 查看用户名、用户密码
4. 配置环境变量
## 操作步骤
1. 连接 MYSQL
2. 数据库操作
2.1 明确操作的数据库名
2.2 查看数据库(why? 检查数据库是否存在)
2.3 创建数据库(数据库不存在)
2.4 使用(选择)数据库
3. 表操作
3.1 明确操作的数据表名
3.2 查看数据表(why? 检查数据表是否存在)
3.3 创建数据表(数据表不存在)
3.4 表操作
## 连接数据库
mysql -h 127.0.0.1 -u root -p
看到 mysql> 提示符, 说明连接成功
## 库操作
### 查看数据库
show databases;
### 创建数据库
create database gzsp;
### 使用数据库
use gzsp;
## 表操作
### 查看数据表
show tables;
### 创建数据表
创建数据表 student (字段与字段之间用 逗号 隔开)
create table student(
id int comment "用户ID",
student_name varchar(255) comment "学生名字"
);
## 数据
### 插入数据
注意事项
1. 字段与字段之间用 逗号 隔开
2. 值 要与字段一一对应(数量、位置)
INSERT INTO student (id, student_name) VALUE (1, "小甜甜");
### 查询数据
注意事项
1. 字段与字段之间用 逗号 隔开
SELECT id, student_name FROM student;
SELECT id FROM student;
SELECT student_name FROM student;
## 作业
1. 创建数据库, 库名: gzsp
create databases gzsp;
use gzsp;
2. 在 gzsp 数据库下面 创建数据表 teacher
3. 数据表包含以下字段: 教师ID, 教师名,教师性别,教师年龄
create table teacher(
id int comment '教师id',
teacher_name varchar(255) comment'教师姓名',
teacher_sex varchar(255) comment'教师性别',
teacher_age varchar(255) comment'教师年龄'
);
4. 向教师表插入 2 条数据
insert into teacher (id,teacher_name,teacher_sex, teacher_age) value (1,'张三','男','28');
insert into teacher (id,teacher_name,teacher_sex, teacher_age) value (2,'李四','男','29');
5. 查询教师数据表的数据
select id, teacher_name,teacher_sex,teacher_age from teacher