MySQL数据库基础
====================================================================================================
1.MySQL基础
配置环境变量
// 在path中添加MySQL的全局路径就可以在cmd中使用;
// 使用:mysql -u rooy -p +密码;
// 退出数据库: quit;
// 安装和配置完成之后,在客服端输入密码,如下情况表示无异常情况:
DDL 、DML、DCL
- DDL数据定义语言,用来维护存储数据的结构(代表指令: create, drop, alter);
- DML数据操纵语言,用来对数据进行操作(代表指令: insert,delete,update,(DQL指令select));
- DCL数据控制语言,主要负责权限管理和事务(代表指令:grant,revoke,commit)
基本操作
// 显示数据库、创建数据库、使用数据库、删除数据库
show databases;
create database if not exists data0;
create database data1 character set utf8mb4;
use data01;
drop database if exists data01;
数据类型
数值类型
字符类型
日期或时间类型
2.CRUD基本操作
*新增(create)
表操作
// 常见表、查看表结构、删除表、显示所有表;
// 要进行表操作之前必须 use+数据库名 使用数据库;
use data0;
create table if not exists exam(
id int,
name varchar(20),
chinses decimal(3,1),
math decimal(3,1),
english decimal(3,1)
);
show tables;
desc exam;
drop table if exists exam;
insert 数据
- 单行输入、多行输入
INSERT INTO student VALUES (100, 10000, '唐三藏', NULL);
insert into exam value(id,name,chinese,math,english) values
(1,'唐三藏', 67, 98, 56),
(2,'孙悟空',87.5, 78,77),
(3,'猪悟能',88, 98.5,98),
(4,'曹孟德',82,84,67),
(5,'刘玄德',55.5,85,45),
(6,'孙权',70,73,78.5),
(7,'宋公明',75,65,30);
*查询(Retrieve)
列查询、去重distinct、字段表达式查询
// 全列查询( * 查询 该表中所有列数据)
// 个别列查询
// 查询字段可以是表达式
// 查询字段可以取别名 : 原名 [AS] 别名;
// 使用distinct 关键字去重
select distinct english from exam;
// 排序(NULL数据默认最小)
-- ASC 为升序(从小到大)
-- DESC 为降序(从大到小)
-- 默认为 ASC
SELECT ... FROM table_name [WHERE ...]
ORDER BY column [ASC|DESC], [...];
条件查询where
- WHERE条件可以使用表达式,但不能使用别名。
- AND的优先级高于OR,在同时使用时,需要使用小括号()包裹优先执行的部分
分页查询LIMIT
// 常常与 ORDER BY 连用
- LIMIT n —— 表示从下标 0 开始筛选 n 个条结果;
- LIMIT s,n —— 表示从下表为 s 开始筛选 n 个结果;
- LIMIT n OFFSET s ——表示从s开始,筛选n个结果(如果数据结束,筛选没结束,不会影响);
*修改(Update)
UPDATE table_name SET column = expr [, column = expr ...]
[WHERE ...] [ORDER BY ...] [LIMIT ...];
*删除(Delete)
DELETE FROM table_name [WHERE ...] [ORDER BY ...] [LIMIT ...];