MySQL数据库

目 录


第一章 数据库简介

第二章 SQL语言基础

1. 注释

2. 常用数据类型

3. 数据库的元素

创建表(CREATE)

添加数据(INSERT)

INSERT INTO C VALUES (2,'小度',14);
INSERT INTO C(id) VALUES (3);
INSERT INTO C(name) VALUES ('可可');

INSERT INTO C VALUES (5,'教练',20),
(6,'慧尚',22),
(7,'线上',43);

简单查询(SELECT)

修改数据(UPDATE)

UPDATE c SET age = 18,name = '小雪' WHERE id = 2;

删除表中的记录(DELETE)

删除表中的记录(TRUNCATE)

TRUNCATE TABLE c;

DELETE和TRUNCATE区别

删除表(DROP)

第三章 字段的约束

常见约束

主键和自增长(primary key auto_increment)

CREATE TABLE a (
	id INT UNSIGNED PRIMARY key auto_increment,
	name VARCHAR(10),
	age INT
);
INSERT INTO a(NAME,age) VALUES('小艾',17),('王华',34),('雪儿',18)


0或者null作为自增长字段占位符

非空约束(NOT NULL)

唯一(UNIQUE)

默认值(DEFAULT)

第四章 别名与重复记录

数据准备

/* 如果学生表students存在,就删除学生表students */
drop table if exists students;

/* 创建学生表students */
create table students (
  studentNo varchar(10) primary key, /*学号,主键,值不能重复*/
  name varchar(10), /*姓名*/
  sex varchar(1), /*性别*/
  hometown varchar(20), /*家乡*/
  age tinyint, /*年龄*/
  class varchar(10), /*班级*/
  card varchar(20) /*身份证号码*/
);

/* 向学生表students插入数据 */
insert into students values
('001', '王昭君', '女', '北京', '30', '1班', '110101199003157654'),
('002', '诸葛亮', '男', '上海', '29', '2班', '310102199104262354'),
('003', '张飞', '男', '南京', '30', '3班', '320102199003047654'),
('004', '白起', '男', '安徽', '35', '4班', '340202198505177654'),
('005', '大乔', '女', '天津', '28', '3班', '120101199204067654'),
('006', '孙尚香', '女', '河北', '25', '1班', '130502199506137654'),
('007', '百里玄策', '男', '山西', '39', '2班', '140102198107277654'),
('008', '小乔', '女', '河南', '25', '3班', null),
('009', '百里守约', '男', '湖南', '31', '1班', ''),
('010', '妲己', '女', '广东', '24', '2班', '440701199607147654'),
('011', '李白', '男', '北京', '30', '4班', '110202199005017754'),
('012', '孙膑', '男', '新疆', '36', '3班', '650102198401297655');

字段的别名(AS)

表的别名(AS)

消除重复记录(DISTINCT)

第五章 条件查询

WHERE子句


多种运算符

比较运算符

逻辑运算符(and or not)

模糊查询(LIKE)


范围查询


空判断

where 子句在update与delete 语句中同样有效

第六章 排序(order by)

第七章 聚合函数(用在select后)

总记录数count

最大值max

最小值min

求和sum

平均值avg

第八章 数据分组(group by)

分组

分组后对数据进行筛选(having)

where和having的区别

第九章 数据分页显示(limit)


多表查询

第十章 连接查询

数据准备

/* 如果学生表students存在,就删除学生表students */
drop table if exists students;

/* 创建学生表students */
create table students (
  studentNo varchar(10) primary key, /*学号,主键,值不能重复*/
  name varchar(10), /*姓名*/
  sex varchar(1), /*性别*/
  hometown varchar(20), /*家乡*/
  age tinyint, /*年龄*/
  class varchar(10), /*班级*/
  card varchar(20) /*身份证号码*/
);

/* 向学生表students插入数据 */
insert into students values
('001', '王昭君', '女', '北京', '30', '1班', '110101199003157654'),
('002', '诸葛亮', '男', '上海', '29', '2班', '310102199104262354'),
('003', '张飞', '男', '南京', '30', '3班', '320102199003047654'),
('004', '白起', '男', '安徽', '35', '4班', '340202198505177654'),
('005', '大乔', '女', '天津', '28', '3班', '120101199204067654'),
('006', '孙尚香', '女', '河北', '25', '1班', '130502199506137654'),
('007', '百里玄策', '男', '山西', '39', '2班', '140102198107277654'),
('008', '小乔', '女', '河南', '25', '3班', null),
('009', '百里守约', '男', '湖南', '31', '1班', ''),
('010', '妲己', '女', '广东', '24', '2班', '440701199607147654'),
('011', '李白', '男', '北京', '30', '4班', '110202199005017754'),
('012', '孙膑', '男', '新疆', '36', '3班', '650102198401297655');

/* 如果课程表courses存在,删除课程表courses */
drop table if exists courses;

/* 创建课程表courses */
create table courses (
courseNo int unsigned primary key auto_increment, /*课程号 主键,值不能重复,且自增长*/
coursename varchar(10) /*课程名称*/
);

/* 向课程表courses插入数据 */
insert into courses (coursename) values
('数据库'),
('html'),
('linux'),
('系统测试'),
('单元测试'),
('测试过程'),
('python');

/* 如果成绩表scores存在,删除课程表scores */
drop table if exists scores;

/* 创建scores表 */
create table scores (
id int unsigned primary key auto_increment,/*主键,值不能重复,且自增长*/
courseNo int unsigned, /*课程号,与courses表中courseNo关联*/
studentNo varchar(10), /*学号,与students表中studentNo关联*/
score tinyint /*成绩*/
);

/* 向scores表插入数据 */
insert into scores (courseNo, studentNo,score) values
(1, '001', 90),
(1, '002', 75),
(2, '002', 98),
(3, '001', 86),
(3, '003', 80),
(4, '004', 79),
(5, '005', 96),
(6, '006', 80);

/* 如果区域表areas存在,删除areas */
drop table if exists areas;

/* 创建区域表areas */
create table areas(
id int primary key,
name varchar(20),
pid int);

/* 向区域表areas插入数据 */
insert into areas
values ('130000', '河北省', NULL),
('130100', '石家庄市', '130000'),
('130400', '邯郸市', '130000'),
('130600', '保定市', '130000'),
('130700', '张家口市', '130000'),
('130800', '承德市', '130000'),
('440000', '广东省', NULL),
('440300', '深圳市', '440000'),
('440100', '广州市', '440000'),
('440500', '汕头市', '440000'),
('440600', '佛山市', '440000'),
('440200', '韶关市', '440000');

内连接(inner join … on …=…)


带有where的内连接

多表内连接


左连接(left join … on …=…)

右连接(right join … on …=…)

第十一章 自关联


第十二章 子查询

子查询是嵌套到主查询里面的 子查询是嵌套到主查询里面的 子查询做为主查询的数据源或者条件 子查询是独立可以单独运行的查询语句 主查询不能独立独立运行,依赖子查询的结果

标量子查询(比较运算符)

返回结果只有一行一列

列子查询(in)

表级子查询(和其他表联合查询)

第十三章 MySql常用内置函数

一、字符串函数

concat连接字符串

length返回字符串字符个数


left从左侧截取字符串

right从右侧截取字符串

substring从指定位置截取字符串


ltrim去除字符串左侧空格

rtrim去除字符串右侧空格

trim去除字符串左右边两侧空格

二、数学函数

round四舍五入

rand随机数

产生一个从0-10的浮点数(小数)

三、日期时间函数(current_date()/current_time()/ now())

第十四章 了解存储过程

第十五章 了解视图

视图就是对select语句的封装

第十六章 了解事务

第十七章 了解索引(index)

创建索引

查看索引

删除索引

索引的优缺点

掌握基于命令行的SQL使用


创建数据库

增加新用户

删除用户

  • 28
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

King✪ω✪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值