一、数据库概述
什么是数据库
数据库是一个用于存储和管理数据的仓库。数据按照特定的格式存储,可以对数据库中的数据进行增加、修改、删除和查询操作。数据库的本质是一个文件系统,按照一定的逻辑结构组织数据,以方便高效地访问和维护。
什么是数据库管理系统
数据库管理系统(DataBase Management System,DBMS)是一个操作和管理数据库的软件。它用于建立、使用和维护数据库,对数据库进行统一管理和控制,以保证数据库的安全性和完整性。用户通过数据库管理系统访问数据库中表内的数据。
常见的数据库管理系统
MYSQL :
MySQL 不仅用于小型数据库,还可以扩展到大型企业级应用场景。它在许多高流量的网站和大型企业系统中得到了广泛应用。
虽然 Oracle 收购了 MySQL,但开源版本仍然存在且免费。MySQL 有多个版本(如社区版、企业版等),其中一些版本收费,但免费的社区版仍在维护和更新。
Oracle :收费的大型关系数据库管理系统,主要用于大型企业级应用。
SQLServer:MicroSoft 公司收费的中型的数据库。SQL Server 不仅适用于 C# 和 .NET 语言,还可以与其他编程语言(如 Java、Python、PHP 等)一起使用。
SQLite : 嵌入式的小型数据库,SQLite 不仅应用于手机端,还可以应用于桌面应用程序和物联网(IoT)设备等。
PostgreSQL:PostgreSQL 是一种开源的关系数据库管理系统,功能强大且可扩展,适用于各种规模的应用场景。它在许多大型企业和开源项目中得到了广泛应用。
NoSQL:除了上述描述的关系数据库管理系统外,还有一类称为 NoSQL(Not Only SQL)数据库,它们使用非关系模型来存储和管理数据。这些数据库包括 MongoDB(文档存储)、Redis(键值存储)、Apache Cassandra(列存储)和 Neo4j(图数据库)等。这些数据库在大数据、分布式系统和实时应用场景中具有优势。
数据库表
数据库中以表为组织单位存储数据。
表类似我们的Java类,每个字段都有对应的数据类型。
那么用我们熟悉的java程序来与关系型数据对比,就会发现以下对应关系。
类----------表
类中属性----------表中字段
对象----------记录
二、MySql数据库
1.安装:
可以观看我之前的作品
2.登录,在windows命令窗口
mysql -u(用户名) -p(密码) -h(主机ip地址) -P(主机ip端口号)
3.基础指令
(1)数据库基本指令:
show databases; 显示所有的数据库
create database 数据库名 charest=utf8; 创建数据库
drop database 数据库名; 删除数据库
use 数据库名; 使用数据库
select database(); 查看当前使用的数据库
(2)数据表基本指令:
show tables; 显示数据库中的所有数据表
create table 表名 (列名 类型 约束1 约束2...,列名 类型 约束1 约束2...); 创建数据表
desc 表名; 查看数据表结构
drop table 表名; 删除数据表
(3)数据表中列的增删改:
alter table 数据表名 drop 列名; 删除列
alter table 数据表名 add 列名 类型 约束1 约束2...; 创建列
alter table 数据表名 change 列名 新列名 类型 约束1 约束2...; 修改列
(4)列的约束条件:
1.主键 :primary key ,可以确定唯一的一行
2.非空 :not null ,不能为空,必须有值
3.自增长: auto_increment ,每次+1
4.唯一: unique, 列中内容不重复
5.默认:default,默认值
6.外键:foreign,与其他表关联,是其他表的主键
7.检查:check,Mysql 8 才有,检查满足条件
4.高级指令
(1)、CURD 增删改查
查:
1.select * from 数据表名 where 条件; 慎用,非常耗时
2.select 列名,列名,列名 from 数据表名 where 条件;