MySQL

本文详细介绍了MySQL数据库,包括其作为数据仓库的角色、DBMS的概念、SQL的基础知识和使用,如DDL、DML、DQL操作。内容涵盖创建、查询、修改数据库和表,数据类型,以及事务处理。此外,还讨论了数据库设计、表关系、多表查询和约束,如非空和外键约束。
摘要由CSDN通过智能技术生成

黑马程序员最新版JavaWeb基础教程,Java web从入门到企业实战完整版_哔哩哔哩_bilibili

数据库

数据库:

存储数据的仓库,数据是有组织的进行存储

英文:DataBase ,简称DB

数据库管理系统

管理数据库的大型软件

英文:DataBase Management System,简称DBMS

SQL

英文:Structured Query Language ,简称SQL结构化查询语言

操作关系型数据库的编程语言

定义操作所有关系型数据库的统一标准

MySQL数据库模型

关系型数据库

关系型数据库是建立在关系模型基础上的数据库,关系型数据库是由多张能相互连接的二维表组成的数据库

优点

1:都是使用表结构,格式一致,易于维护

2:使用通用的SQL语言操作,使用方便,可用于复杂查询

3:数据存储在磁盘中,安全。

SQL

英文:Structured Query Language,简称SQL

结构化查询语言,一门操作关系型数据库的编程语言

定义操作所有关系型数据库的统一标准

对于同一需求,每种数据库操作的方式可能会存在一些不一样的地方,

SQL通用语法

SQL语句可以单行或多行书写,以分号结尾

MySQL数据库的SQL语句不区分大小写,关键字建议使用大写

注释

单行注释:--注释内容 或 #注释内容(MySQL特有)

多行注释:/注释/

SQL分类

DDL(Data definition Language)数据库定义语言,用来定义数据库对象:数据库,表,列等

DML(Data Manipualtion Language)数据库操作语言,用来对数据库中表的数据进行增删改

DQL(Data Query Language)数据查询语言,用来查询数据库中表的记录(数据)

DCL(Data Control Language)数据控制语言,用来定义数据库的访问权限和安全级别,及创建用户

DDL

---操作数据库

1.查询

SHOW DATABASES;

2.创建

。创建数据库

CREATE DATABASE 数据库名称;

。创建数据库(判断,如果不存在则创建)

CREATE DATABASE IF NOT EXISTS 数据库名称;

3.删除数据库

删除数据库

DROP DATABASE 数据库名称;

删除数据库(判断,如果存在则删除)

DROP DATABASE IF EXISTS 数据库名称;

4.使用数据库

。查看当前使用的数据库

SELECT DATABASE();

。使用数据库

USE 数据库名称;

---操作表

查询表

SHOW TABLES;

查询表的结构

DESC 表名称;

创建表

CREATE TABLE 表名(

字段1 数据类型1,

字段2 数据类型2,

...

字段名n 数据类型n

);

注意:最后一行末尾,不能加逗号

删除表

1.删除表

DROP TABLE 表名;

2.删除表时判断表是否存在

DROP TABLE IF EXISTS 表名;

修改表

1.修改表名

ALTER TABLE 表名 RENAME TO 新的表名;

2.添加一列

ALTER TABLE 表名 ADD 列名 数据类型;

3.修改数据类型

ALTER TABLE 表名 MODIFY 列名 新数据类型;

4.修改列名和数据类型

ALTER TABLE 表名 CHANGE 列名 新列名 新数据类型;

5.删除列

ALTER TABLE 表名 DROP 列名;

数据类型

MySQL支持多种类型,可以分为三类:

数值

日期

字符串

 

DML----操作数据

添加数据

1.给指定列添加数据

INSERT INTO 表名(列名1,列名2,...) VALUES(值1,值2,....);

2给全部列添加数据

INSERT INTO 表名 VALUES(值1,值2,..);

3批量添加数据

INSERT INTO 表名(列名1,列名2,...) VALUES(值1,值2,...),(值1,值2,...),(值1,值2,....)....;

列名可以省略(不建议)

INSERT INTO 表名 VALUES(值1,值2,...),(值1,值2,...),(值1,值2,....)....;

修改数据

1修改表数据

UPDATE 表名 SET 列名1=值1,列名2=值2,....[WHERE 条件];

注意:修改语句中如果不加where条件,则将所有数据都修改!

DQL---查询

SELECT 字段列表

FROM 表名列表

WHERE 条件列表

GROUP BY 分组字段

HAVING 分组后条件

ORDER BY 排序字段

LIMIT 分页限定

DQL--基础查询

1查询多个字段

SELECT 字段列表 FROM 表名;

SELECT * FROM 表名;---查询所有数据

(列名的列表可以使用*替代,不建议使用)

2去除重复记录

SELECT DISTINCT 字段列表 FROM 表名;

3起别名

AS:AS 也可以省略

DQL---条件查询

1条件查询语法

SELECT 字段列表 FROM 表名 WHERE 条件列表;

常用符号:

 

DQL---排序查询

1.排序查询语法

SELECT 字段列表 FROM 表名 ORDER BY 排序字段名1[排序方式1],排序字段名2[排序方式2]。。。。;

排序方式

ASC:升序排列(默认值)

DESC:降序排列

注意:如果有多个排序条件,当前边的条件值一样时,才会根据第二条进行排序

聚合函数

1概念:

将一列数据作为一个整体,进行纵向计算

2聚合函数分类:

 

3聚合函数语法:

SELECT 聚合函数名(列名) FROM 表;

注意:null值不参与所有聚合函数运算

DQL ---分组查询

1分组查询语法

SELECT 字段列表 FROM 表名 [WHERE 分组前提条件限定] GROUP BY 分组字段名 [HAVING 分组后条件过滤];

注意:分组之后,查询的字段为聚合函数和分组字段,查询其他字段无任何意义

where 和 having 区别:

执行时机不一样:where时分组之前进行限定的,不满足where条件,则不参与分组,而having是分组之后对结果进行过滤

可判断的条件不一样:where不能对聚合函数进行判断,having可以

执行顺序:where>聚合函数>having

DQL---分页查询

1分页查询语法

SELECT 字段列表 FROM 表名 LIMIT 起始索引,查询条目数;

起始索引:从零开始

计算公式:起始索引=(当前页码-1)*每页显示的条数

tips:

分页查询limit是MySQL数据库的方言

Oracle分页查询使用rownumber

SQL Server分页查询使用top

约束

概念:约束是作用于表中列上的规则,用于限制加入表的数据

约束的存在保证了数据库中数据的正确性,有效性和完整性

分类:

</

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值