目录
1.MySQL是什么?
2.为什么要学习数据库呢?
内存和硬盘的区别
3.数据库基本操作
1.创建数据库
2.使用数据库
3.删除数据库(慎用)
4.查看警告信息
5.查询当前数据可服务使用的编码集
7.表操作
1.创建一个学生成绩表
2.查看表结构
3.删除表
4.新增数据
5.问题:一次写入一条数据与一次写入多条数据,哪个效率更高?
6.查询表
1.全列查询
2.指定列查询
3.查询字段为表达式
4.起别名+去重
5.排序(asc为升序,desc为降序)
1.MySQL是什么?
他是一个数据库,数据库就是用来保存数据的应用程序
数据库底层用了一些哈市的数据结构来对数据进行增删改查
2.为什么要学习数据库呢?
我们之前学的Array List保存的数据是在内存里
数据库的数据保存在硬盘中
内存和硬盘的区别
3.数据库基本操作
1.创建数据库
CREATE DATABASE IF NOT EXISTS db_test1 CHARACTER SET utf8mb4;
show DATABASES;
2.使用数据库
USE db_test1;
3.删除数据库(慎用)
DROP DATABASE test01;
4.查看警告信息
show warnings;
5.查询当前数据可服务使用的编码集
show variables like '%character%';
7.表操作
1.创建一个学生成绩表
CREATE TABLE exam_result (
id INT,
name VARCHAR(20),
chinese DECIMAL(3,1),
math DECIMAL(3,1),
english DECIMAL(3,1)
);
2.查看表结构
desc exam_result;
3.删除表
drop table if exists exam;
4.新增数据
-- 插入测试数据
INSERT INTO exam_result (id,name, chinese, math, english) VALUES
(1,'唐三藏', 67, 98, 56),
(2,'孙悟空', 87.5, 78, 77),
(3,'猪悟能', 88, 98.5, 90),
(4,'曹孟德', 82, 84, 67),
(5,'刘玄德', 55.5, 85, 45),
(6,'孙权', 70, 73, 78.5),
(7,'宋公明', 75, 65, 30);
insert into exam_result(id,name,chinese,math,english) values (8,'小金',90,99,90);
5.问题:一次写入一条数据与一次写入多条数据,哪个效率更高?
6.查询表
1.全列查询
select * from exam_result;
2.指定列查询
select id,name,chinese from exam_result;
3.查询字段为表达式
select id name,chinese+math+english as sum from exam_result;
4.起别名+去重
select distinct id name,chinese+math+english as sum from exam_result;
5.排序(asc为升序,desc为降序)
1.语文成绩从高到低排序
select id, name, chinese from exam_result order by chinese desc;
2. 使用别名将总成绩升序排列
select id, name, chinese+math+english as sum from exam_result order by sum asc;
3.对多个字段进行排序,排序优先级随书写顺序
SELECT name, math, english, chinese FROM exam_result