数据库简介

(一)、理解

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

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

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. 非关系型数据库:以文档或键值对形式存储数据,结构简单,数据之间没有关系,有利于扩展。

比如:RedisMongoDB

  • 、数据库系统的结构

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;
-- 修改id2的数据,将名字修改为张无忌,年龄修改为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.创建一个和之前表结构一致的新表

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值