数据库简介

(一)、理解

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

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

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

相关推荐
hikktn2 小时前
Oracle批量UPDATE空值覆盖陷阱:CASE WHEN优雅防御方案【宗申集团】
数据库·oracle
Han_han9192 小时前
数据库基本操作:
数据库
J.Kuchiki2 小时前
【PostgreSQL 内核学习:平衡 K 路归并(Balanced k-way Merge)】
数据库·学习·postgresql
xieliyu.2 小时前
MySQL 全套入门笔记:基础、库操作、数据类型
数据库·笔记·mysql
lvbinemail2 小时前
【无标题】
数据库·postgresql·zabbix·监控
技术小甜甜2 小时前
[办公效率] Excel 表格越做越乱,先整理字段、格式还是公式?
数据库·excel·办公效率·数据整理
Data-Miner2 小时前
休闲食品行业数据分析平台建设方案,揭秘增长新引擎!
大数据·数据库·数据分析
invicinble2 小时前
sql层面语法的总结(mysql层面语法,主要侧重于sql的查询相关的信息量积累)
sql·mysql·oracle
KKKlucifer2 小时前
数据分类分级排名解析:三大核心能力决定选型方向
大数据·数据库·分类