MySQL基础笔记

SQL的概述

  • SQL全称:Structured Query Language,结构化查询语言,用于访问和处理数据库的标准的计算机语言

  • SQL语言就是操作数据库的专用工具

sql语言的分类:

  • 数据定义:DDL(Data Definition Language):库的创建删除、表的创建删除等

  • 数据操纵:DML(Data Manipulation Language):新增数据、删除数据、修改数据等

  • 数据控制:DCL(Data Control Language):新增用户、删除用户、密码修改、权限管理等
  • 数据查询:DQL(Data Query Language):基于需求查询和计算数据

DDL-库管理

1. 查看数据库

SHOW DATABASES;

2. 使用数据库

USE 数据库表名;

3. 创建数据库

CREATE DATABASE 数据库名 [CHARSET UTF-8];

4. 删除数据库

DROP DATABASE 数据库名;

5. 查看当前使用的数据库

SELECT DATABASE()

DDL-表管理

1. 查看有哪些表

SHOW TABLES;

2. 创建表

CREATE TABLE 表名称(
	列名称 列类型,
    列名称 列类型,
    ......
);

-- 列类型有
int				-- 整数
float			-- 浮点数
varchar(长度)	  -- 文本,长度为数字,做最大长度限制
date			-- 日期类型
timestamp		-- 时间戳类型

3. 删除表

DROP TABLE 表名称;
DROP TABLE IF EXISTS 表名称;

DML-表操作

DML是指数据操作语言,Date Manipulation Language,用来对数据库中表的数据记录进行更新

1. 插入INSERT

基础语法:

INSERT INTO[(1,列2...,列n)] VALUES(1,值2... ,值n)[(1,值2... ,值n),(1,值2... ,值n)]

-- 演示
create table student(
	id int,
	name varchar(20),
	age int
)

show tables;
-- 仅插入id列数据
insert into student(id) values(1),(2),(3);
-- 插入全部列数据
insert into student(id,name,age) values(4,'周杰',31),(5,'林杰',33),(6,'张杰',32);
-- 插入全部列数据快捷写法
insert into student values(7,'admin',22),(8,'管理员',18);

2. 删除DELETE

基础语法:

DELETE FROM 表名称[WHERE 条件判断]

-- 演示

create table student(
	id int,
	name varchar(20),
	age int
)

insert into student values(1,'周杰',31),(2,'林杰',33),(3,'张杰',32);

-- 删除name为周杰的数据
delete from student where name = '周杰';
-- 删除age>32的数据
delete from student where age > 32;
-- 删除全部数据

3. 更新UPDATE

基础语法:

UPDATE 表名 SET 列=值 [WHERE 条件判断];

-- 演示
create table student(
	id int,
	name varchar(20),
	age int
)

insert into student values(1,'周杰',31),(2,'林杰',33),(3,'张杰',32);


-- 修改id为2的name为张三
update student set name='张三' where id = 2;
-- 修改全部数据的age为20
update student set age=20;

DQL-基础数据查询

在SQL中,通过SELECT关键字开头的SQL语句,来进行数据的查询

基础语法:

SELECT 字段列表|* FROM# 演示
create table student(
	id int,
	name varchar(20),
	age int
)

insert into student values(10001, '周杰伦', 31), (10002, '王力宏', 33), (10003, '林俊杰', 35), (10004, '张学友', 36), (10005, '刘德华', 30);

-- 查询id和name两个列
select id,name from student;
-- 查询全部列
select id,name,age from student;
-- 查询全部列,快捷写法
select * from student;

DQL-基础数据查询-过滤

查询也可以带有指定条件

select 字段列表|* from 表 where 条件判断;

# 演示
-- 查询id和name两个列,年龄小于33
select id,name from student where age < 33;
-- 查询全部列,id等于10003
select id,name,age from student where id = 10003;

DQL-分组聚合

基础语法:

SELECT 字段|聚合函数 FROM[WHERE 条件] GROUP BY 列
聚合函数有:
SUM(列)     求和
AVG(列)     求平均值
MIN(列)     求最小值
MAX(列)     求最大值
COUNT(列|*) 求数量

-- 演示
create table student(
	id int,
	name varchar(20),
	age int,
	gender varchar(4)
)

insert into student values(10001,'周杰',31,'男'),(10002,'张杰',33,'男'),(10003,'刘杰',35,'女'),(10004,'何杰',36,'女'),(10005,'王杰',33,'男'),(10006,'林杰',10,'男');


select gender,avg(age),sum(age),min(age),max(age),count(*) from student group by gender;

DQL-分页聚合

结果排序

可以对查询的结果,使用ORDER BY关键字,指定某个列进行排序,语法:

SELECT 列|聚合函数|* FROM 表
WHERE ...
GROUP BY ...
ORDER BY ... [ASC | DESC]

-- 演示
create table student(
	id int,
	name varchar(20),
	age int,
	gender varchar(4)
)

insert into student values(10001,'周杰',31,'男'),(10002,'张杰',33,'男'),(10003,'刘杰',35,'女'),(10004,'何杰',36,'女'),(10005,'王杰',33,'男'),(10006,'林杰',10,'男');
-- 年龄大于20的按年龄降序排序结果
select * from student where age > 20 order by age desc;
-- 年龄大于20的按年龄升序排序结果
select * from student where age > 20 order by age asc;

结果分页限制

可以使用LIMIT关键字,对查询结果进行数量限制或分页显示,语法:

SELECT 列|聚合函数|* FROM 表
WHERE ...
GROUP BY ...
ORDER BY ... [ASC | DESC]
LIMIT n[, m]

-- 演示
create table student(
	id int,
	name varchar(20),
	age int,
	gender varchar(4)
)

insert into student values(10001,'周杰',31,'男'),(10002,'张杰',33,'男'),(10003,'刘杰',35,'女'),(10004,'何杰',36,'女'),(10005,'王杰',33,'男'),(10006,'林杰',10,'男');
-- 显示前三条数据
select * from student limit 3;
-- 从第十条开始,取五条
select * from student limit 10,5;
-- 将年龄超过20的和人数进行升序排序,显示前三行
select age,count(*) from student where age >20 group by age order by age limit 3;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值