数据库的基础概念和代码例子(增删改查和其他操作-约束)(上)

简介: 什么是数据库?答:存储数据的仓库,数据是有组织的进行存储(DataBase,简称DB)

一、概念解析

1.什么是数据库?

答:存储数据的仓库,数据是有组织的进行存储(DataBase,简称DB)

2.什么是数据库管理系统?

答:管理数据库的大型软件(DataBase Management System,简称DBMS)

例子:MySQL

3.什么是SQL?

答:操作关系型数据库的编程语言,是一种结构化查询语言(Structured Query Language,简称SQL)

4.什么是关系型数据库?

答:由多张能互相连接的二维表组成的数据库

优点:

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

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

(3)数据存储在磁盘中,安全

5.SQL通用语句?

答:SQL可以单行或者多行书写,以分号结尾,不分大小写,关键字建议大写

单行注释:--注释内容或者#注释内容

多行注释:/*注释*/

6.名词解释

DDL:操作数据库等

DML:对表中的数据进行增删改

DQL:对表中的数据进行查询

DCL:对数据库进行权限控制

7.约束(列中的规则制定者)

(1)作用于表中列上的规则,用于限制加入的数据

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

分类:

非空约束:保证列中所有的数据不能有null值。

唯一约束:保证列中所有的数据各不相同

主键约束:主键是一列数据的唯一标识,一张表里面只能有一个。要求非空且唯一

检查约束:保证列中的值满足某一条件

默认约束:保存数据时,未指定值则采用默认值

外键约束:外键用来让两个表的数据之间建立链接,保证数据的一致性和完整性

二、查

1.查询全部数据库

show databases;

2.查询正在使用的数据库。

select database();

3.查询所有表(当前使用的库中)

show tables;

4.查询单个表结构

格式为:desc 表名;

desc func;

5.查询全部列中的详细数据

格式为:select * from 表名;

select * from mm;

6.查询列中的数据

格式为:select 列名,列名 from 表名;

select id,username from mm;

7.查出列中的数据并且起别名

格式为:select 原列名 as 改后列名,原列名 as 改后列名 from 表名;

select id as 情侣,username as 名字 from mm;

8.查询列中的数据并且去除重复的

格式为: select distinct 列名 from 表名;

select distinct hobby from mm;

条件查询

9.根据条件查询表中的数据

格式为:select * from 表名 where  列名 条件

select * from mm where hobby = '步兵';

10.根据条件查询表中的数据之区间

格式为:select * from 表名 where 列名 between 条件区间 and 条件区间;

select * from mm where id between 3 and 5;

条件查询之模糊查询

11.查询列中指定数据开头的

格式为:select * from 表名 where 列名 like '指定数据%';

select * from mm where hobby like '步%';

12.查询列中指定位置匹配的数据(比如那列中第2个是3的全要了,几个下划线就代表几个空格)

格式为:select * from 表名 where 列名 like '截取的下划线  需要的数据%';

select * from mm where password like '__3%';

13.查询列中的关键字

格式为:select * from 表名 where 列名 like '%关键字%';

select * from mm where hobby like '%兵%';

运行结果:

原表:



查询后:


排序查询

14.查询列中从小到大排序(默认)--升序

格式为:select * from 表名 order by 列名 asc;

select * from mm order by id asc;

15.查询列中从大到小排序   --降序

格式为:select * from 表名 order by 列名 desc;

select * from mm order by id desc;

16.多种要求排序

格式为:select * from 表名 order by 列名1 升或者降 ,列名2 升或者降;

select * from mm order by id asc,password desc;
--就是当第一个列条件相同时,才会排序第二个列条件

聚合函数 (数学运算)

17.统计表中有多少列数据

格式为:select count(*) from 表名;

select count(*) from mm;

18.对该列的数据进行各种计算

格式为:select 聚合函数名(列名) from 表名;

select avg(id) from mm;--例子
--count 统计数量
--max  最大值
--min  最小值
--sum  求和
--avg  平均值

分组查询

19.对表中的列进行聚合函数计算分组

格式为:select 分组的列,聚合函数(计算的列) from 表名 group by 分组的列;

select hobby,avg(id) from mm group by hobby;

20.对表中的列进行灵活分组查询

格式为:select 分组的列, 聚合函数(计算的列),count(*)  from 表名  判断条件 group by 分组的列;

select sex, avg(math),count(*) from home where math >50 group by sex;

21.对表中的列进行灵活查询基础上,再进行分组筛选

格式为:select 分组的列, 聚合函数(计算的列),count(*)  from 表名  判断条件 group by 分组的列

分组条件;

select sex, avg(math),count(*) from home where math >50 group by sex having count(*)>2;

20和21的总语法结构

格式为: select 分组的列,from 表名 where 分组前条件限定 group by 分组的列 having 分组后条件筛选

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

分页查询

22.从索引值开始查多少条数据

格式为:select * from 表名 limit 起始值,查询条目数;

select * from home limit 0,3;
--注意数据库的第一条是从索引值0开始的
--当上万条数据时需要按页面展示,只需要改变索引值就好了,索引值可以设置成一个动态的公式
--起始索引值 = (当前页码-1) * 每页显示的条数

23.查看外键名称

格式为: show create table 从表的表名;

show create table BM;--BM:从表的表名

运行结果:

多表查询

简介:多表查询有连接查询和子查询两种方式

(1)连接查询:内连接(即A和B的交集)、外连接

(2)子查询

24.隐式内连接查询 (即A和B两张表的交集)

格式为 :select * from 表1的表名,表2的表名 where 表1的表名.id = 表2的表名.id;

注意点:这个*号是表示交集里面全部查询出来,如果有需要查特定的,就把*号换成需要的表名.列名

select * from mm,home where mm.id =home.id;

25.显式内连接查询 (即A和B两张表的交集)

格式为:select * from 表1的表名 inner join 表2的表名 on 表1的表名.id = 表2的表名.id;

select * from mm inner join home on mm.id = home.id;

26.左外连接查询(即取A表所有部分和AB的交集)

格式为:select * from 表1的表名 left join 表2的表名 on 表1的表名.列名 = 表2的表名.列名;

select * from mm left join home on mm.id = home.id;

27.右外连接查询(即取B表所有部分和AB的交集)

格式为:select * from 表2的表名 right join 表1的表名 on 表2的表名.列名 = 表1的表名.列名;

select * from home right join mm on mm.id = home.id;

注意点:左右外连接可以互换,A表也可以是B表,灵活变换,想让哪个是A表哪个就是A表呗。  

目录
相关文章
|
2月前
|
存储 SQL 关系型数据库
Mysql学习笔记(二):数据库命令行代码总结
这篇文章是关于MySQL数据库命令行操作的总结,包括登录、退出、查看时间与版本、数据库和数据表的基本操作(如创建、删除、查看)、数据的增删改查等。它还涉及了如何通过SQL语句进行条件查询、模糊查询、范围查询和限制查询,以及如何进行表结构的修改。这些内容对于初学者来说非常实用,是学习MySQL数据库管理的基础。
138 6
|
2月前
|
缓存 算法 关系型数据库
Mysql(3)—数据库相关概念及工作原理
数据库是一个以某种有组织的方式存储的数据集合。它通常包括一个或多个不同的主题领域或用途的数据表。
83 5
Mysql(3)—数据库相关概念及工作原理
|
24天前
|
JSON JavaScript 关系型数据库
node.js连接GBase 8a 数据库 并进行查询代码示例
node.js连接GBase 8a 数据库 并进行查询代码示例
|
2月前
|
前端开发 Java 数据库连接
javamvc配置,增删改查,文件上传下载。
【10月更文挑战第4天】javamvc配置,增删改查,文件上传下载。
41 1
|
2月前
|
存储 NoSQL API
使用Py2neo进行Neo4j图数据库的增删改查操作
使用Py2neo进行Neo4j图数据库的增删改查操作
109 5
|
2月前
|
数据可视化 API PHP
低代码开发工具-学生管理系统-老师管理增删改查实现
低代码开发工具-学生管理系统-老师管理增删改查实现
43 5
|
2月前
|
关系型数据库 MySQL 数据库
MySQL数据库:基础概念、应用与最佳实践
一、引言随着互联网技术的快速发展,数据库管理系统在现代信息系统中扮演着核心角色。在众多数据库管理系统中,MySQL以其开源、稳定、可靠以及跨平台的特性受到了广泛的关注和应用。本文将详细介绍MySQL数据库的基本概念、特性、应用领域以及最佳实践,帮助读者更好地理解和应用MySQL数据库。二、MySQL
151 5
|
2月前
|
SQL 存储 安全
SQL查询数据库:基础概念与操作指南
在数字化时代,数据库已成为信息管理的重要工具之一。作为管理和操作数据库的核心语言,SQL(结构化查询语言)已成为数据管理和查询的关键技能。本文将全面介绍SQL查询数据库的基本概念、语句和操作指南,以帮助初学者快速上手,同时为进阶用户提供有价值的参考。一、数据库与SQL简介数据库是一种存储、管理和检索
70 3
|
2月前
|
SQL 关系型数据库 MySQL
创建SQL数据库的基本步骤与代码指南
在信息时代,数据管理显得尤为重要,其中数据库系统已成为信息技术架构的关键部分。而当我们谈论数据库系统时,SQL(结构化查询语言)无疑是其中最核心的工具之一。本文将详细介绍如何使用SQL创建数据库,包括编写相应的代码和必要的步骤。由于篇幅限制,本文可能无法达到您要求的2000字长度,但会尽量涵盖创建数
100 3
|
2月前
|
安全 算法 Java
数据库信息/密码加盐加密 —— Java代码手写+集成两种方式,手把手教学!保证能用!
本文提供了在数据库中对密码等敏感信息进行加盐加密的详细教程,包括手写MD5加密算法和使用Spring Security的BCryptPasswordEncoder进行加密,并强调了使用BCryptPasswordEncoder时需要注意的Spring Security配置问题。
202 0
数据库信息/密码加盐加密 —— Java代码手写+集成两种方式,手把手教学!保证能用!