第六周 mysql

## 准备

1. 安装软件 PHPStudy
2. 安装 MySQL 8.0
3. 启动 MySQL 8.0 服务
4. 配置环境变量
5. 查看账号、密码

## 一般操作步骤


1. 连接 MySQL

```
mysql -h 127.0.0.1 -u root -p
```

## 库操作

1. 查看数据库

```
show databases;
```

2. 创建数据库

```
create database taobao;
```

3. 切换(使用数据库)

```
use taobao;
```

4. 删除库(删库跑路,三思而后删)

```
drop database taobao;
```

## 表

1. 查看表

```sql
show tables;
```

2. 创建表


```
create table 表名(
    字段1名 字段1类型 注释,
    字段2名 字段2类型 注释,
    字段3名 字段3类型 注释,
    字段4名 字段4类型 注释,
    字段5名 字段5类型 注释
);
```

数据类型: int varchar(255)

```sql
create table student(
    student_id int comment '学生ID',
    student_name varchar(255) comment '学生姓名',
    student_age int comment '学生年龄'
);
```

3. 查看表信息


```sql
desc student;
```

```sql
show create table student;
```

4. 删除表(三思而后删)


```sql
drop table student;
```

## 数据

1. 查询数据(建议: 按需查询)

```sql
select * from student;
```

2. 插入数据 (数量、位置、数据类型)

```sql
insert into student 
    (student_id, student_name, student_age) values
    (1, '小甜甜', 18);

insert into student 
    (student_id, student_name, student_age) values
    (2, '小萍萍', 19);

insert into student 
    (student_id, student_name, student_age) values
    (2, '坤坤', 20);

insert into student 
    (student_id, student_name, student_age) values
    (4, '坤坤', 22);
```

3. 条件查询 where


语法
```
select 字段1, 字段2, 字段3 from 表名 where 条件字段名 条件表达式 条件值;
```

```
select * from student where student_id = 1;
```

4. 条件查询 limit

```
select * from student where student_id = 1 limit 1;
```

5. 删除数据(1.查询数据(条件); 2. 一定要添加条件)

```
delete from student where student_id = 1 limit 1;
```

6. 修改数据(1.查询数据(条件); 2. 一定要添加条件)

语法

```
update 表名 set 字段名 = 新的值 where 条件字段名 = 条件字段值;
```

```sql
update 表名 set 字段名 = 新的值, 字段名 = 新的值, 字段名 = 新的值 where 条件字段名 = 条件字段值;
```

```
update student set student_id = 3 where student_name = '坤坤';
```

```sql
update student set student_id = 3 where student_name = '坤坤';
```

```sql
update student set student_name = "大坤", student_age=15 where student_id = 4;
```


## 添加数据


```sql
create table student(
    student_id int comment '学生ID',
    student_name varchar(255) comment '学生姓名',
    student_age int comment '学生年龄'
);
```

1. 列出所有的字段
2. 字段值和字段名一一对应(数量、位置、类型)

```sql
insert into student 
    (student_id, student_name, student_age) values
    (1, '小甜甜', 18);
```

字段名的顺序可以自由指定

```sql
insert into student (student_name,student_id, student_age) values( '小甜甜', 1, 18);
```

字段名的数量可以自由指定

```sql
insert into student (student_name,student_id) values( '小甜甜', 1);
```

可以一次性添加多条数据

```sql
insert into student (student_id, student_name, student_age) values(1, '小甜甜', 18);

insert into student (student_id, student_name, student_age) values(2, '小萍萍', 18);

insert into student (student_id, student_name, student_age) values(3, 'iKun', 18);
```


```sql
insert into student 
    (student_id, student_name, student_age) 
    values
    (1, '小甜甜', 18),
    (2, '小萍萍', 19),
    (3, 'iKun', 20);
```

插入数据可以省略字段名

1. 不可改变字段值的顺序, 必须对应字段名的顺序
2. 字段值的数量必须和字段名的数量一致


```sql
insert into student values
    (1, '小甜甜', 18),
    (2, '小萍萍', 19),
    (3, 'iKun', 20);
```

## 数据类型


- 数值
- 字符(串)
- 时间(日期)


### 数值-整数

tinyint 整型 1字节 -128 到 127  2^(nx8-1)
smallint 整型 2字节 -32768 到 32767          2^(2x8-1)
mediumint 整型 3字节 838 8608   2^(3x8-1)
int 整型 4字节     21 4748 3648    2^(4x8-1)
bigint  整型  922 3372 0368 5477 5808  8字节 2^(8x8-1)

无符号整型

tinyint  1字节 0 到 256  2^(nx8)
smallint  2字节   0 到 6 5536          2^(2x8)
mediumint  3字节 1677 7216   2^(3x8)
int  4字节     42 9496 7296    2^(4x8)
bigint    1844 6744 0737 0955 1616  8字节 2^(8x8)


### 数值-小数

float 单精度 4 字节
double 双精度 8 字节
desimal(M,D) 定点数类型


### 字符串

char(M) 0-255
varchar(M) 0-6 5535
text 0-6 5535
longtext 42 9496 7296

### 时间日期

date 日期  0000-00-00  9999-12-31
time 时间  00:00:00            18:24:32    
datetime 日期时间 0000-00-00 00:00:00   9999-12-31 18:24:32 
timestamps 时间戳

```sql
create table teacher(
    teacher_id int unsigned comment '教师ID',
    teacher_name varchar(50) comment "教师名",
    teacher_salay float comment "教师月薪资",
    teacher_register_time date comment "入职时间"
);
```

```sql
insert into teacher values
    (666, "王老师", 1888.88, "2022-09-01");
```


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值