数据库简介

(一)、理解

数据库是"按照数据结构来组织、存储和管理数据的仓库"。是一个长期存储在计算机内的、有组织

的、可共享的、统一管理的大量数据的集合。

  1. 数据库系统:DBS (DataBase System)通常由数据库、数据库管理系统和数据管理员组成。

  2. 数据库管理系统:DBMS (Database Management System)是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。

  3. 数据库管理员:DBA (Database Administrator),是从事管理和维护数据库管理系统(DBMS)的相关工作人员,一般是由业务水平较高、资历较深的人员担任。

  4. 数据库:DB (Database )是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合,可视为电子化的文件柜------存储电子文件的处所,用户可以对文件中的数据进行新增、查询、更新、删除等操作。

  • 、特点
  1. 可以持久化保存数据

  2. 保存数据是有组织 有结构的

  3. 以表的形式保存数据 方便操作

  4. 提供了丰富的SQL语句 操作数据

  • 、数据库的分类

数据库按照存储结构的不同分为两种:

  1. 关系型数据库:以二维表的形式存储数据,且表与表之间是有关联的。

如下图, 订单信息表 和 客户信息表 都是有行有列的二维表;我们称之为关系型数据库。

接下来看关系型数据库的优点:

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

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

关系型数据库都可以通过SQL进行操作,所以使用方便。

复杂查询。

  1. .数据存储在磁盘中,安全。

  2. 非关系型数据库:以文档或键值对形式存储数据,结构简单,数据之间没有关系,有利于扩展。

比如:Redis、MongoDB

  • 、数据库系统的结构
  1. 一个DBMS(数据库系统)中 可以有多个数据库(database)

  2. 一个数据库(database)中 可以有多个表(table)

  3. 一个表中 可以有多组数据 多个字段(列)

  • SQL的介绍和分类

结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。对数据库和数据表进行增删改查操作。

基本分类:

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

DDL简单理解就是用来操作数据库,表结构等。

2.DML(Data Manipulation Language) 数据操作语言:用来对数据库中表的数据进行增删改;

DML简单理解就对表中数据进行增删改。

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

DQL简单理解就是对数据进行查询操作,从数据库表中查询到我们想要的数据。

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

  • SQL通用语法

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

2、可使用空格和缩进来增强语句的可读性

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

而数据库名,数据表名,列名建议使用小写

例如:SELECT * FROM user。

同样可以使用/**/的方式完成多行注释; -- 或者#单行注释

四、DDL数据定义语言

Data Definition Language数据库定义语言

关键字:create drop alter show

  1. 数据库的基本操作

## 查看所有的数据库

show databases;

## 创建数据库: creat database 数据库名称 set character utf8

## creat database if not exists 数据库名;

## 编码格式 utf8

create database demo;

create database if not exists demo1;

## 进入 / 切换 / 使用数据库: use 数据库名称;

use demo;

use demo1;

## 删除数据库 drop database 数据库名;

drop database demo1;

## 查看创建数据库的语句

show create database demo;

# 查看当前数据库所有的表 查看有什么表

show tables;

use demo;

  1. 数据表的操作
    /*
    创建表
    creat table 表名 (
    列名 数据类型 ( 长度 )** **约束** **, \[\] 可写可不写
    列名 数据类型 ( 长度 )** **约束** **,
    列名 数据类型 ( 长度 )** **约束** **
    );

*/

# 创建学生表 stu

/*

学号, 姓名, 年龄, 生日, 体重

id name age birthday weight

int/varchar varchar int date double

*/

create table stu(

id int,

name varchar(100),

age int,

birthday date,

weight double(5,2)

);

-- 1. 查看 stu 的表结构

desc stu;

-- 2. 查看创建表的 SQL 语句

show create table stu;

-- 3. 删除表

drop table stu;

  1. 修改表操作

-- 4. 添加列 alter table 表名 add 列名 类型 ( 长度 ) ** **约束** **

alter table stu add sex char (1);

-- 5. 修改列的数据类型 alter table 表名 modify 列名 新的数据类型 ( 长度 ) ** **约束** **;

-- sex 的数据类型改成 varchar

alter table stu modify sex varchar (1);

-- 6. 修改列名

-- alter table 表名 change 旧列名 新列名 类型 ( 长度 ) ** **约束** **;

-- sex 的列名修改为 gender

alter table stu change sex gender varchar (1);

-- 7. 删除列 alter table 表名 drop 列名 ;

alter table stu drop gender;

-- 8. 重命名表名 rename table 表名 to 新表名 ;

rename table stu to stuu;

  • DML数据操作语言

DML(Data Manipulation Language)数据操作语言,主要是针对数据表做增、删、改操作。

主要涉及的关键字有:

insert 添加 update 修改 delete 删除

-- 9. 添加 指定列 的数据

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

-- 后面值的数据类型应当与前面列名的数据类型保持一致;

insert into stuu (id,name,age)values(1,'张三',18);

insert into stuu (id,age)values (2,20);

-- 10. 添加 所有列 的数据

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

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

insert into stuu values(4,'赵柳',23);

insert into stuu(id,name,age)values(5,'牛丽丽',25);

-- 11. 批量添加

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

insert into stuu(id,name,age)values(5,'李茜茜',20),(4,'汪诗诗',21),(7,'黄袅袅',22);

-- 12. 修改表数据

-- UPDATE 表名 SET 列名 1= 新值 1, 列名 2= 新值 2, ... WHERE** **条件** ** ;

-- 条件格式:列名 符号 值 ; 符号: = > < >= <= !=

-- where id = 2;

-- 修改 id 2 的数据 , 将名字修改为张无忌 , 年龄修改为 26

update stuu set name ='张无忌',age =26 where id =2;

update stuu set age=28 where id=5;

-- 13. 删除数据

-- DELETE FROM 表名 WHERE** **条件** ** ;

delete from stuu where name='牛丽丽';

-- TRUNCATE table 表名 ; # 截断表,将表中的数据清空

-- 1. 删除表 2. 创建一个和之前表结构一致的新表

相关推荐
z1234567898610 分钟前
2026最新两款AI编程工具深度对比实测
java·数据库·ai编程
程序猿DD13 分钟前
一个 API Key,统一调用大模型、生图和联网搜索
数据库·网关
TlSfoward1 小时前
抓包代理链路下的 TLS 指纹变化分析 TLSFOWARD抓包工具
数据库·爬虫·网络协议·搜索引擎·php
数智化管理手记1 小时前
账龄分析手工统计易遗漏?自动账龄分析工具怎么搭建
大数据·网络·数据库·人工智能·数据挖掘
LabVIEW开发2 小时前
NI Package Manager安装LabVIEW时InternalServerError错误
网络·数据库·labview·labview知识·labview功能·labview程序
SelectDB2 小时前
PostgreSQL 实时同步到 Apache Doris:一站式 CDC 解决方案
数据库
Database_Cool_2 小时前
AI Agent 长期记忆怎么存?阿里云 PolarDB-X 对接 Mem0 记忆框架实践
数据库·阿里云
会编程的土豆3 小时前
数据库范式
数据库·oracle
L1624763 小时前
MySQL 全环境生产快速安装 + 完整配置手册(整合国产银河麒麟适配 + 主从补充版)
数据库·mysql
yio_yin3 小时前
Spring事务管理(数据一致性)
数据库·sql·spring