数据库笔记01--DDL和DML

文章介绍了数据库的基本概念,包括数据库(Database)和数据库管理系统(DBMS),并对比了关系型数据库与非关系型数据库。特别提到了MariaDB作为MySQL的替代品,以及SQL语言在数据库操作中的作用,包括数据定义(DDL)、数据操作(DML)等。同时,文章涵盖了创建、查看和管理数据库及表的相关SQL语句。
摘要由CSDN通过智能技术生成

数据库

1.基本概念

数据库 Database

按照数据特定的结构,存储管理数据的仓库。

数据库管理系统 DBMS

一套独立可运行的管理数据库的软件,用于维护磁盘上的数据;维护性好,性能好,可扩展性强。

1.1关系型数据库和非关系型数据库

  • 关系型数据库

    采用关系模型(行列构成的二维表)来组织操作呈现数据的数据库,也称为SQL数据库。
    比如: MySQL、MariaDB、Oracle、SQL Server 等。

  • 非关系型数据库

    没有固定的表结构和关系模型,数据通常以键值对的形式存储,也被称为NoSQL数据库。
    比如:MongoDB、Redis等。

1.2 MariaDB

MariaDB是关系型数据库,由MySQL的原创开发者在MySQL被甲骨文公司收购后创建的。
MariaDB的目标是成为MySQL的替代品,因此它与MySQL具有很高的兼容性。

特点:开源、跨平台(Windows、Linux、Mac)、提供很多语言的API(C++、Java、Python)

1.3数据库管理系统常见概念

(1)关系说明

在DBMS数据库管理系统中,可以根据不同的项目创建多个库,在每个库中可以根据项目需求创建不同的数据表,数据表中存放的是具体的数据。

(2)库 database

库是表的集合,一个库中可以存放若干张表,通常库服务于项目。

(3)表 table

是数据的集合,具有一组相同属性的数据存放在同一张表中。

行(row):称为是记录,表中每一条数据

列(column):称为是字段,每一条记录的属性

1.4 SQL语言

连接上数据库后,向其发送SQL语句,数据库理解该SQL语句的含义并执行相关操作并回馈结果。结构化查询语言(Structured Query Language),是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库。

1.5 SQL语言特点

SQL语言基本上独立于数据库本身。

各种不同的数据库对SQL语言的支持与标准存在着细微的不同。

每条命令最好以 ; 结尾。

SQL语句不区分大小写,但是好的书写习惯:关键字大写,非关键字小写。

1.6 SQL分类

DDL:数据定义语言,是操作数据库对象的语言。数据库对象为库,表,视图,索引,序列。
DML:数据操作语言,是操作表中数据的语言。对表中数据操作的语言(增INSERT,删DELETE,改UPDATE)
DQL:数据查询语言,是查询表中数据的语言,使用SELECT语句
DCL:数据控制语言,管理数据库的语言(权限分配等,DBA关心的)
TCL:事务控制语言,事务控制语言。

1.7 数据库的连接方式

命令行
图形化界面
JDBC
集成开发环境(IDE)

2.DDL数据定义语言

2.1 数据库管理

1.查看已有库

SHOW DATABASES;

2.创建库

CREATE DATABASE 数据库名 [CHARSET=字符集];

3.查看创建数据库时的信息

SHOW CREATE DATABASE 数据库名;

4.切换库

USE 库名;

5.删除库

DROP DATABASE 库名;

2.2 数据表管理

1.创建表

CREATE TABLE 表名(
       字段名1 类型[(长度)] [DEFALUT 默认值] [约束],
       字段名2 类型,
       ...
   ) CHARSET=字符集;

2.查看当前库中所有数据表

SHOW TABLES;

3.查看表结构

DESC 表名;

4.查看数据表创建信息

SHOW CREATE TABLE 表名;

5.修改表名

RENAME TABLE 原表名 TO 新表名;

6.删除表

DROP TABLE 表名;

7.修改表结构ALTER

添加字段 - ADD

  • 表末尾追加字段

    ALTER TABLE 表名 ADD 字段名 类型[(长度) 默认值 约束]; ​

  • 表起始追加字段

    ALTER TABLE 表名 ADD 字段名 类型 FIRST;

  • 指定位置追加字段

    ALTER TABLE 表名 ADD 字段名 类型 AFTER 表中现有字段名;ALTER TABLE 表名 ADD 字段名 类型[(长度) 默认值 约束];

删除字段 - DROP

ALTER TABLE 表名 DROP 字段名;

修改字段数据类型 - MODIFY

ALTER TABLE 表名 MODIFY 字段名 新数据类型;

替换字段 - CHANGE

ALTER TABLE 表名 CHANGE 旧字段名 新字段名 新数据类型;

修改表结构的注意事项

  • 修改表结构最好是在表中没有数据的情况下进行

  • 当表中含有数据时:

    尽量不修改表中某字段的类型,否则可能因为现有数据不满足新修改的类型导致修改失败

    尽量不缩短字段长度

    若为字段新添加约束,该字段现有的数据不能违反该约束

3.DML表记录管理

DML是对表中数据 进行操作的语言,涉及的关键字:INSERT UPDATE DELETE

3.1 插入数据INSERT

关于默认值

3.2更新数据UPDATE

(1)语法

UPDATE 表名
SET 字段1=新值,字段2=新值,...
[WHERE 过滤条件];

(2)WHERE子句

UPDATE person
SET age=23
WHERE name='诸葛亮';

(3)WHERE子句基础条件

WHERE子句会在后面DQL中详细展开介绍
WHERE中基础条件:**>, >=, <, <=, =, !=**

3.3 删除数据DELETE

(1)语法

DELETE FROM 表名
[WHERE 过滤条件];

(2)清空表

DELETE FROM person;

3)DML总结
INSERT语句,向表中插入数据的语言
INSERT语句指定的字段顺序,个数可以与表结构不一致,但是VALUES子句后指定的值必须与指定的字段顺序,类型,个数完全一致
INSERT语句在指定字段时,可以忽略某些字段,此时插入数据时被忽略的字段会插入默认值
INSERT语句中可以使用关键字 NULL 显示声明插入NULL值
INSERT语句中不指定字段时为全列插入,此时VALUES后指定的值的顺序,个数,类型要与表结构完全一致。实际开发中不推荐这样的写法。
UPDATE语句,修改表中记录的语言
UPDATE语句通常要指定WHERE子句,如果不指定则为全表修改
DELETE语句,删除表中记录的语言
DELETE语句通常要指定WHERE子句,否则是清空表操作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值