数据库简介

(一)、理解

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

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

  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. 创建一个和之前表结构一致的新表

相关推荐
IvorySQL6 小时前
PostgreSQL 日报|修复截断 zstd 备份检测(10 月 9 日)
数据库·postgresql
刘胡子大叔6 小时前
SQL 脚本的导入顺序
数据库·sql
代码什么用7 小时前
Spring对IoC的实现
数据库·spring
hz567899 小时前
涉密视频会议设备配置指南:终端、音视频采集与配套设施选型
服务器·网络·数据库·安全·实时音视频·信息与通信·智能硬件
广州浮点FLOATLIC9 小时前
许可证服务器迁移后软件打不开:研发 IT 怎样定位连接问题
linux·服务器·数据库
程序员Sunday9 小时前
MySQL 为什么使用 B+ 树索引?把范围查询、回表和覆盖索引连起来
数据库·mysql
半杯咖啡半行码9 小时前
Qt开发实战:数据库、MV 模式、QProcess与串口通信全攻略
数据库·qt
小米里的大麦10 小时前
16 MySQL 事务
数据库·mysql
西柚小萌新10 小时前
【LLM&&AI应用开发 八股文】--4.3.Agent智能体(下)
java·开发语言·数据库
邓工说电11 小时前
智慧断路器安全吗?数据加密、离线保护与合规认证全解读
大数据·数据库·人工智能·智能断路器·炜晔科技