一、数据库Mysql介绍

1、为什么要学数据库呢?数据库是做什么的?
数据库是专门用来管理数据的
2、数据库可以对数据进行分类。
一个数据库管理系统下有多个数据库
一个数据库下有多张表
一张表内有多条数据
3、关系型数据库
mysql第一课时 - 图1

二、数据库的分类

1.超大型数据库
Oracle 收费的而且非常贵(一般都是有钱的公司才来用:银行,证券,保险) 性能非常稳定,功能非常强大
sqlserver (微软公司)
2.中小型数据库
Mysql 免费的,市面上百分之80公司用的都是mysql,语法极个别不一样,大部分都是一样的
阿里数据量巨大,数据迁移费用庞大,还不如多几台服务器去维护
3.其他类型
Redis 缓存数据库 MongoDB 文件存储的数据库

三、什么是sql语句?

Structured Query Language 结构化查询语言
特点:
1.SQL对大小写不敏感,也就是说你可以大写,也可以小写
2.SQL是一种行业标准,不是数据库

四、sql中的DDL,DML,DQL

1.DDL: data defination language 数据定义语言
A.数据库的创建,删除等等
B.创建表,以及表的结构
2.DML: data manipulation language 数据操作语言
A.对表数据的操作 增加、删除、修改
3.DQL: data query language 数据查询语言
A.对表数据进行查询
流程:首先创建一张表,定义表结构
插入数据——-修改 新增 删除 ——查询

五、如何操作navicat

1.选择数据库管理系统 -> 选择库
2.点击查询 -> 新建查询
3.就会出现可以编写sql语句的页面
4.编写的sql语句对大小写不敏感
5.写好sql语句后,选中你要执行的语句,右键 -> 运行已选择的
6.一条sql语句的结束标志是”;” 而且必须是英文状态下的分号

数据库连接

公司会给到一个数据库的连接信息
mysql第一课时 - 图2
选择【Mysql】
mysql第一课时 - 图3
数据库连接:mysql第一课时 - 图4
双击点击库名——-变绿——-库里面有表——-表里面有数据
mysql第一课时 - 图5mysql第一课时 - 图6
mysql第一课时 - 图7

六、DDL:数据定义语言

1.创建表

一行sql语句的结束,使用分号来代表
create table 表名( 字段名1 数据类型 [属性],
字段名2 数据类型 [属性] ,
字段名3 数据类型 [属性],
字段名4 数据类型 [属性]
);
2.数据类型:
1. int: 整数型 -2147483648到 +2147483648 -21亿到+21亿
2. float: 单精度浮点型 ,32位机器中用4个字节来存储
3. double: 双精度浮点型 ,8个字节存储,double(4,1) 4代表取值长度,1代表小数点精确度。 最大可以取 值到999.9 double(5,3)最大值99.999
4. varchar: varchar(255) 可变长度字符串(英文、汉子、特殊符号)例如:地址
5. char : 固定长度字符串 例:性别男 char(1)
6. datetime: 日期时间 YY-MM-DD hh:mm:ss 年-月-日时:分:秒
7. date : 日期 YYYY-MM-DD 2021-10-25
8. time : 时间 hh:mm:ss 11:16:ss
例:
mysql第一课时 - 图8
CREATE TABLE student_huihui( s_id int, s_name VARCHAR(255), s_sex CHAR(1), s_address VARCHAR(255) );
mysql第一课时 - 图9
mysql第一课时 - 图10

建表练习1:(表名不能重复)

mysql第一课时 - 图11

Navicat版本太低需要先运行以下这句
set
sql_mode=’STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION’;
CREATE TABLE product_hh( p_id int, p_name VARCHAR(255), p_price double(4,2), p_address VARCHAR(255) );
mysql第一课时 - 图12

建表练习2:(表名不能重复)

学生表:student(学号、姓名、出生年月、性别)
mysql第一课时 - 图13
成绩表:score(学号、课程号、成绩)
mysql第一课时 - 图14
CREATE TABLE student_h72( stuid int, stuname VARCHAR(255), stubirthday DATE, gender CHAR(1) );
CREATE TABLE score_h72( stuid int, courseid varchar(255), score int );
mysql第一课时 - 图15
3. 属性
1.not null 非空
2.primary key 主键
3.auto_increment 自增长
4.default 默认值

七、DML 数据操作语言

A插入数据

1.第一种方法:
语法: insert into 表名(字段1,字段2…) values(值1,值2…);
insert into student_hui (stuid,stuname,stubirthday,gender) VALUES (1,’猴子’,’1989-01-01’,’男’);
mysql第一课时 - 图16

2.第二种方法:
语法: insert into 表名 values(值1,值2…);
insert into student_hui values (2,’猴子’,’1990-12-21’,’女’);
mysql第一课时 - 图17

3.第三种方法:
语法:insert into 表名 values(值1,值2…),(值1,值2…),(…);
insert into student_hui values (2,’猴子’,’1990-12-21’,’女’),(3,’马云’,’1990-11-11’,’男’);
mysql第一课时 - 图18

4.第四种方法:选择性插入
语法:insert into 表名(字段1,字段2) values(值1,值2)

说明: 如果想要插入部分的字段的值,首先必须要字段和值一一对应
如果该字段设置了非空的属性,则不能部分插入
如果一定要部分插入字段,非空的字段必须设置默认值

insert into student_hui (stuname) VALUES (‘猴子’);
mysql第一课时 - 图19
属性:not null
default 默认值
假设 不能为空mysql第一课时 - 图20
运行后报错提示没有默认值mysql第一课时 - 图21
数据类型和默认值要统一mysql第一课时 - 图22
重新运行后,默认值显示为1mysql第一课时 - 图23

B更新数据

语法:update 表名 set 字段=值;
mysql第一课时 - 图24
mysql第一课时 - 图25

课堂练习:

课程表:course(课程号、课程名、教师号)
mysql第一课时 - 图26
教师表:teacher(教师号、教师名)
mysql第一课时 - 图27
mysql第一课时 - 图28

C删除表/数据

1:删除表
语法:drop table 表名;
2:删除表数据(保存表结构)
语法:delete from 表名;
mysql第一课时 - 图29

八、DQL 数据查询语言

查询数据:

1.查询表中所有数据
语法: select from 表名; 代表所有
2.查询表中部分数据
语法: select 字段1,字段2 from 表名;

课后练习:

建表插入数据
mysql第一课时 - 图30
新建一张表:姓名_软件测试考试分数表;完全模仿样本,包括字段名、数据类型