一、数据库Mysql介绍
1、为什么要学数据库呢?数据库是做什么的?
数据库是专门用来管理数据的
2、数据库可以对数据进行分类。
一个数据库管理系统下有多个数据库
一个数据库下有多张表
一张表内有多条数据
3、关系型数据库
二、数据库的分类
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】
数据库连接:
双击点击库名——-变绿——-库里面有表——-表里面有数据


六、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
例:
CREATE TABLE student_huihui( s_id int, s_name VARCHAR(255), s_sex CHAR(1), s_address VARCHAR(255) );

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

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) );
建表练习2:(表名不能重复)
学生表:student(学号、姓名、出生年月、性别)
成绩表:score(学号、课程号、成绩)
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 );
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’,’男’);
2.第二种方法:
语法: insert into 表名 values(值1,值2…);
insert into student_hui values (2,’猴子’,’1990-12-21’,’女’);
3.第三种方法:
语法:insert into 表名 values(值1,值2…),(值1,值2…),(…);
insert into student_hui values (2,’猴子’,’1990-12-21’,’女’),(3,’马云’,’1990-11-11’,’男’);
4.第四种方法:选择性插入
语法:insert into 表名(字段1,字段2) values(值1,值2)
说明: 如果想要插入部分的字段的值,首先必须要字段和值一一对应
如果该字段设置了非空的属性,则不能部分插入
如果一定要部分插入字段,非空的字段必须设置默认值
insert into student_hui (stuname) VALUES (‘猴子’);
属性:not null
default 默认值
假设 不能为空
运行后报错提示没有默认值
数据类型和默认值要统一
重新运行后,默认值显示为1
B更新数据
课堂练习:
课程表:course(课程号、课程名、教师号)
教师表:teacher(教师号、教师名)
C删除表/数据
1:删除表
语法:drop table 表名;
2:删除表数据(保存表结构)
语法:delete from 表名;
八、DQL 数据查询语言
查询数据:
1.查询表中所有数据
语法: select from 表名; 代表所有
2.查询表中部分数据
语法: select 字段1,字段2 from 表名;
课后练习:
建表插入数据
新建一张表:姓名_软件测试考试分数表;完全模仿样本,包括字段名、数据类型

