数据库基础

数据库的基础以及常用的命令

1.数据库的使用步骤

1.数据库的选择:根据需求选择合适的数据库管理系统(DBMS),常见的有关系型数据库(如MySQL、Oracle、PostgreSQL)和非关系型数据库(如MongoDB、Redis)等。
在这里插入图片描述
在这里插入图片描述

2.数据库的创建:在选定的DBMS中创建一个新的数据库。一般情况下,可以使用DBMS提供的命令行工具、图形界面工具或者编程接口来创建数据库。
在这里插入图片描述
在这里插入图片描述

3.表的设计:在数据库中创建表结构,用于存储数据。表的设计包括确定表的名称、字段的名称和数据类型、约束条件以及索引等。可以使用DDL(数据定义语言)来创建表。
在这里插入图片描述

4.数据的插入:将数据插入到数据库中的表中。可以使用DML(数据操作语言)中的INSERT语句来插入数据。INSERT语句指定要插入的表名和要插入的数据。

5.数据的查询:使用SQL(结构化查询语言)来查询数据库中的数据。可以使用SELECT语句来执行各种查询操作,如选择特定列、过滤特定条件、排序、分组等。

6.数据的更新和删除:使用SQL中的UPDATE和DELETE语句来更新和删除数据库中的数据。UPDATE语句用于修改现有数据,DELETE语句用于删除数据。

7.数据库的维护和管理:定期进行数据库备份和恢复,监控数据库性能,优化查询语句和索引,处理数据库故障等。

2.数据库的基础

1.表(Table):是数据库中的基本对象,用于存储数据。表由行(Record/Row)和列(Field/Column)组成,每个列存储特定类型的数据。
在这里插入图片描述

2.主键(Primary Key):是表中的唯一标识符,用于确保每个行的唯一性。主键可以由一个或多个列组成。

1.1 主键的作用
主键的主要作用如下:

(1)保证实体的完整性;

(2)加快数据库的操作速度;

(3)在表中添加新记录时,数据库会自动检查新记录的主键值,不允许该值与其他记录的主键值重复;

(4)数据库自动按主键值的顺序显示表中的记录。如果没有定义主键,则按输入记录的顺序显示表中的记录。

1.2 主键的特点
(1)唯一性:一个表中只能有一个主键。如果在其他字段上建立主键,则原来的主键就会取消。

(2)非空性:主键的值不可重复,也不可为空;

(3)必要性:在有些数据库中,虽然主键不是必需的,但最好为每个表都设置一个主键,不管是单主键还是复合主键。它存在代表着表结构的完整性,表的记录必须得有唯一区分的字段,主键主要是用于其他表的外键关联,以及本记录的修改与删除;

(4)无意义性:在开发过程中,读者可能会看到将一些表使用有意义的字段表示主键,例如“用户登录信息表”将“登录名”(英文名)作为主键,“订单表”中将“订单编号”作为主键,如此设计主键一般都是没什么问题,因为将这些主键基本不具有“意义更改”的可能性。但是,也有一些例外的情况,例如“订单表”需要支持需求“订单可以作废,并重新生成订单,而且订单号要保持原订单号一致”,那将“订单编号”作为主键就满足不了要求了。因此读者在使用具有实际意义的字段作为主键时,需要考虑是否存在这种可能性。

2、主键的选择以及优缺点比较
2.1 自增主键
这种方式是使用数据库提供的自增数值型字段作为自增主键,它的优点是:

(1)数据库自动编号,速度快,而且是增量增长,按顺序存放,对于检索非常有利;

(2)数字型,占用空间小,易排序,在程序中传递也方便;

(3)如果通过非系统增加记录时,可以不用指定该字段,不用担心主键重复问题。

3.外键(Foreign Key):是一个指向其他表中主键的列。它用来建立表之间的关系,实现数据的关联和连接。

外键是指引用另一个表中的一列或多列,被引用的列应该具有主键约束或唯一性约束。外键用于建立和加强两个表数据之间的连接。为了使初学者更好地理解外键的定义,接下来,通过两张表来讲解什么是外键。

首先需要创建两个表,一个班级表(grade)和一个学生表(student),具体语句如下:

CREATE DATABASE chapter05;
USE chapter05;

CREATE TABLE grade(
id int(4) NOT NULL PRIMARY KEY,
name varchar(36)
);

CREATE TABLE student(
sid int(4) NOT NULL PRIMARY KEY,
sname varchar(36),
gid int(4) NOT NULL
);
学生表(student)中的gid是学生所在的班级id,是引入了班级表(grade)中的主键id。那么gid就可以作为表student的外键。被引用的表,即表grade是主表;引用外键的表,即表student是从表,两个表是主从关系。表student用gid可以连接表grade中的信息,从而建立了两个表数据之间的连接。

引入外键后,外键列只能插入参照列存在的值,参照列被参照的值不能被删除,这就保证了数据的参照完整性。

如:
在这里插入图片描述
4.查询(Query):是用来从数据库中检索数据的方法。查询语言如 SQL(Structured Query Language)被广泛用于与关系型数据库进行交互。
在这里插入图片描述

5.关系型数据库(Relational Database):基于关系模型的数据库,使用表格结构来存储和组织数据。常见的关系型数据库包括 MySQL、Oracle、SQL Server等。
在这里插入图片描述
在这里插入图片描述

6.非关系型数据库(NoSQL Database):不使用传统的表格结构的数据库。它们使用其他数据模型(如键值对、文档、列族等)来存储数据,具有高可扩展性和灵活性。常见的非关系型数据库包括 MongoDB、Redis、Cassandra等。

7.常用操作:数据库的基本操作包括插入(Insert)、查询(Select)、更新(Update)和删除(Delete),通常使用SQL语句来执行这些操作。

8.数据库增删改查sql语句:
如:
1、增: String sql=“insert into employees(id,username,age) values(22,2,2)”;
2、删: String sql2=“delete from employees where id=22”;
3、改: String sql3=“update employees set username=‘zhang’,age=‘2222’ where id=1”;
4、查: String sql4=“select * from employees where id=1”;

数据库常用命令:

常用命令:
在这里插入图片描述
拓展:
1.创建数据库:
在这里插入图片描述

2.删除数据库:
在这里插入图片描述

3.创建数据表:
在这里插入图片描述

4.删除数据表:
root@host# mysql -u root -p
Enter password:*******
mysql> use RUNOOB;
Database changed
mysql> DROP TABLE runoob_tbl //删除数据表 runoob_tbl
Query OK, 0 rows affected (0.8 sec)

5.select查询:
在这里插入图片描述

6.模糊查询-like:
在这里插入图片描述

7.修改数据表的默认编码格式:
alter table 表名 convert to character set utf8(latin1);

8.清空数据:
truncate table 表名

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值