数据库概述和DDL语句(学会并使用数据库day1)

news2025/1/6 13:42:55

数据库概述和DDL语句(day1)

  • 一、数据库概述
    • 概念
    • 数据库的集中式控制有什么优点
    • 数据库分类
    • mysql数据库
      • mysql简介
      • 基本术语
      • 数据表的组成
    • 数据库管理系统
    • 数据库管理系统、数据库和表的关系
  • 二、SQL的概念
  • 三、SQL语句分类
    • 1、SQL语句被分为四大类
    • 2、MySQL的语法
  • 四、DDL操作数据库
    • 1、创建数据库的几种方式
    • 2、查看数据库
    • 3、修改数据库
    • 4、删除数据库
    • 5、使用数据库
  • 五、DDL操作表结构
    • 1、创建表
    • 2、MySQL中数据类型(常用)
    • 3、MySQL中详细数据类型
      • 数据类型的长度设置
    • 4、详细操作
      • 4.1 创建表
      • 4.2 查看表
      • 4.3操作表
      • 4.3修改表的结构
    • navicat和破解工具

一、数据库概述

概念

数据库是按照数据结构来组织、存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术

和市场的发展,特别是二十世纪九十年代后,数据管理不再仅仅是存储和管理数据,而转变成用户所需

要的的各种数据管理方式。数据库有多种类型,从最简单的存储有各种数据的表格到能够海量数据存储

的大型数据库系统,都在各个方面得到了广泛的应用。

数据库的集中式控制有什么优点

  1. 降低存储数据的冗余度
  2. 更高的数据一致性
  3. 存储数据的可以共享
  4. 可以建立数据库所遵循的标准
  5. 便于维护数据完整性
  6. 能够实现数据的安全性

数据库分类

  1. 关系型数据库 ---->MySQL、SqlServer、Oracle
  2. 非关系型数据库---->Redis、Mongodb

mysql数据库

mysql简介

数据库是按照数据结构来组织、存储和管理数据的仓库,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的的各种数据管理方式。数据库有多种类型,从最简单的存储有各种数据的表格到能够海量数据存储的大型数据库系统,都在各个方面得到了广泛的应用。

MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。

关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。

RDBMS 即关系数据库管理系统(Relational Database Management System)的特点:

  • 数据以表格的形式出现
  • 每行为各种记录名称
  • 每列为记录名称所对应的数据域
  • 许多的行和列组成一张表单
  • 若干的表单组成database

基本术语

  • 数据库: 数据库是一些关联表的集合。
  • 数据表: 表是数据的矩阵。在一个数据库中的表看起来像一个简单的电子表格。
  • 字段(Field):表中的每一列被称为字段,用于存储特定类型的数据,比如姓名、年龄、地址等。
  • 记录(Record):表中的每一行被称为记录,表示一个完整的数据项,包含多个字段的值。
  • 冗余:存储两倍数据,冗余降低了性能,但提高了数据的安全性。
  • 主键:主键是唯一的。一个数据表中只能包含一个主键。你可以使用主键来查询数据。
  • **外键:**外键用于关联两个表。
  • 复合键:复合键(组合键)将多个列作为一个索引键,一般用于复合索引。
  • **索引:**使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构。类似于书籍的目录。
  • 参照完整性: 参照的完整性要求关系中不允许引用不存在的实体。与实体完整性是关系模型必须满足的完整性约束条件,目的是保证数据的一致性。

数据表的组成

  • 表头(header): 每一列的名称;
  • 列(col): 具有相同数据类型的数据的集合;
  • 行(row): 每一行用来描述某条记录的具体信息;
  • 值(value): 行的具体信息, 每个值必须与该列的数据类型相同;
  • 键(key): 键的值在当前列中具有唯一性。

数据库管理系统

数据库管理系统(DataBase Management System,DBMS):指一种操作和管理数据库的大型软

件,用于建立、使用和维护数据库,对数据库进行统一管理和控制,以保证数据库的安全性和完整性。

用户通过数据库管理系统访问数据库中表内的数据。

数据库管理系统、数据库和表的关系

数据库管理程序(DBMS)可以管理多个数据库,一般开发人员会针对每一个应用创建一个数据库。为
保存应用中实体的数据,一般会在数据库创建多个表,以保存程序中实体的数据。
在这里插入图片描述
注意

  1. 一个数据库服务器包含多个数据库
  2. 一个数据库包含多张表
  3. 一张表包含多条记录

二、SQL的概念

SQL(Structured Query Language):结构化查询语言。

1、SQL作用

  1. 是一种所有关系型数据库的查询规范,不同的数据库都支持;
  2. 通用的数据库操作语言,可以用在不同的数据库中;
  3. 不同的数据库SQL语句有一些区别。

三、SQL语句分类

1、SQL语句被分为四大类

  1. 数据定义语言DDL(Data Definition Language):建表,建库

  2. 数据查询语言DQL(Data Query Language):对表中的查询操作

  3. 数据操纵语言DML(Data Manipulation Language):对表中的记录操作增删改

  4. 数据控制功能DCL(Data Control Language):用户权限的设置

2、MySQL的语法

  1. 每一条SQL语句都是以分号(英文状态)结束,但是在Navicat中是可以不加分号的;
  2. SQL中是不区分大小写,关键字中认为大小写一样;
  3. 注释的三种方式:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-82xY7zzz-1690207061286)(E:\myapp\typora\笔记文件夹\数据库\imgs02\image-20230716180310691.png)]

四、DDL操作数据库

1、创建数据库的几种方式

  1. 创建数据库
# 格式
CREATE DATABASE 数据库名;
# demo
create database demo;
  1. 判断数据库是否已经存在,不存在则创建数据库
# 格式
CREATE DATABASE IF NOT EXISTS 数据库名;
# demo
create database if not exists demo;
  1. 创建数据库并指定字符集
# 格式
CREATE DATABASE 数据库名 CHARACTER SET 字符集;
# demo
create database demo character set utf8 ;

2、查看数据库

  1. 查看所有数据库
show databases;
  1. 查看某一个数据库
show create database demo;

3、修改数据库

修改数据库默认的字符集

# 格式
ALTER DATABASE 数据库名 DEFAULT CHARACTER SET 字符集;
# demo
ALTER DATABASE demo DEFAULT CHARACTER SET utf8mb4;

4、删除数据库

  1. 直接删除数据库
# 格式
DROP DATABASE 数据库名;
# demo
DROP DATABASE demo;
  1. 判断数据库存在,再删除
# 格式
DROP DATABASE IF EXISTS 数据库名;
# demo
DROP DATABASE IF EXISITS demo;

5、使用数据库

  1. 查看正在使用的数据库
SELECT DATABASE();

在这里插入图片描述
2.使用和切换数据库

# 格式
use 数据库名;
# demo
use demo;

五、DDL操作表结构

1、创建表

# 格式
CREATE TABLE 表名(
字段名1 字段类型1,
字段名2 字段类型2
);

注意

  1. 创建表,必须先选择要使用数据库;
  2. CREATE,TABLE是两个关键字;
  3. 字段类型要给大小。

2、MySQL中数据类型(常用)

在这里插入图片描述

3、MySQL中详细数据类型

在这里插入图片描述

数据类型的长度设置

  1. 字符类型长度设置

在MySQL中,常用的字符类型包括CHAR、VARCHAR、TEXT等。其中,CHAR和VARCHAR类型表示定长和变长字符串,长度需要根据实际情况进行设置。如果需要存储10个字符的字符串,可以使用CHAR(10)或VARCHAR(10)。需要注意的是,VARCHAR类型的长度不要超过65535,否则会出现存储问题。

  1. 数字类型长度设置

MySQL中的数字类型包括INT、BIGINT、FLOAT、DOUBLE等。如果需要存储一个范围在0-255之间的整数,可以使用TINYINT UNSIGNED类型,长度为1字节。如果需要存储一个范围在-2147483648到2147483647之间的整数,可以使用INT类型,长度为4字节。

  1. 日期类型长度设置

MySQL中的日期类型包括DATE、DATETIME、TIMESTAMP等。如果需要存储一个日期,可以使用DATE类型,长度为3字节。如果需要存储一个日期和时间,可以使用DATETIME类型,长度为8字节。

  1. 其他类型长度设置

MySQL中还有其他类型,例如BLOB、ENUM、SET等。如果需要存储一个最大长度为65535字节的二进制数据,可以使用MEDIUMBLOB类型,长度为3字节。

总结:MySQL建表长度的设置非常重要,可以避免数据存储出现问题。在设置长度时,需要根据实际情况进行调整,避免长度过长或过短。如果不确定长度,可以选择使用默认长度。

4、详细操作

4.1 创建表

employee表包含 id,name,birthday 字段

CREATE TABLE IF NOT EXISTS employee(
id int(11),
name VARCHAR(22),
birthday date
);	

表创建成功
在这里插入图片描述

4.2 查看表

  1. 查看某个数据库中的所有表
SHOW TABLES;
  1. 查看表的结构
# 格式
DESC 表名
# demo
DESC employee;
  1. 查看创建表的SQL语句
# 格式
SHOW CREATE TABLE 表名;
# demo
SHOW CREATE TABLE employee;

4.3操作表

  1. 快速创建一个表结构相同的表
# 格式
CREATE TABLE 新表名 LIKE 旧表名;
# demo
CREATE TABLE newEmployee LIKE employee;
  1. 删除表
# 直接删除
# 格式
DROP TABLE 表名;
# demo
drop table newEmployee ;
# 判断是否存在再删除
# 格式
DROP TABLE IF EXISTS 表名;
# demo
drop table if exists `employee`;

4.3修改表的结构

  1. 添加表中的字段
# 格式
ALTER TABLE 表名 ADD 列名 类型;
# demo
ALTER TABLE employee ADD age int(3);
  1. 修改列类型 MODIFY
# 格式
ALTER TABLE 表名 CHANGE 旧列名 新列名 类型;
# demo
ALTER TABLE employee CHANGE age new_age int(4);
  1. 删除列 DROP
# 格式
ALTER TABLE 表名 DROP 列名;
# demo
ALTER TABLE employee DROP new_age;
  1. 修改表名
# 格式
RENAME TABLE 表名 TO 新表名;
# demo
rename table employee to employee1;
  1. 修改字符集
# 格式
ALTER TABLE 表名 character set 字符集;
# demo
ALTER TABLE employee character set utf8mb4;

navicat和破解工具

链接:https://pan.baidu.com/s/1Atd-1S6PbNCDyKRSwrOFQQ?pwd=yang
提取码:yang

破解步骤,大家就网上随便搜一篇就行了,还是比较简单的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/787659.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

电脑上怎么进行pdf合并免费?看看这种方法

电脑上怎么进行pdf合并免费?在日常工作中,我们经常需要将多个PDF文档合并成一个文件,以方便管理和传输。如果你正在寻找一种简单易用的PDF合并工具,那么接下来就给大家介绍一种简单好用的合并方法。 【迅捷PDF转换器】是一款PDF转…

godot引擎c++源码深度解析系列一

许久没有使用c开发过项目了,如果按照此时单位的入职要求,必须拥有项目经验的话,那我就得回到十多年前,大学的时代,哪个时候真好,电脑没有这么普及,手机没有这么智能,网络没有这么发达…

01背包相关题

题解&#xff1a;dp[j]表示目标和为j时的最大组合种数 class Solution { public:int dp[1005];int findTargetSumWays(vector<int>& nums, int target) {int val;int sum0;for(int i0;i<nums.size();i){sumnums[i];}int wsumtarget;if(w%21){return 0;}else{valw…

重磅来袭 | 2023数字供应链安全大会邀请函(DSS 2023)

2023数字供应链安全大会&#xff08;DSS 2023&#xff09;将于8月10日在北京国家会议中心隆重开幕。本次大会由悬镜安全主办&#xff0c;ISC互联网安全大会组委会、中国软件评测中心&#xff08;工业和信息化部软件与集成电路促进中心&#xff09;、中国信息通信研究院云计算与…

基于IMX6ULL的智能车载终端项目(代码开源)

前言&#xff1a;本文为手把手教学智能车载终端项目&#xff08;LinuxQT&#xff09;&#xff0c;该项目是综合性非常强的 Linux 系列项目&#xff01;项目核心板使用 NXP 的 IMX6ULL 作为 CPU&#xff0c;整体实现了简化版本的车载终端功能需求。项目可以学习的点非常多&#…

物联网网关模块可以带几台plc设备吗?可以接几个modbus设备?

随着物联网技术的快速发展&#xff0c;物联网网关模块已经成为了实现物联网应用的重要工具。很多客户在选择物联网网关模块时想了解物联网网关模块的设备接入能力&#xff0c;一个物联网网关模块可以带几台PLC设备&#xff1f;可以接几个Modbus设备&#xff1f; 物联网网关模块…

leetcode 50. Pow(x, n)(x的n次方)

求x的n次方。 思路&#xff1a; 第一个想到的思路是x和它自己乘n次&#xff0c; 但是这样做会面临一些问题&#xff1a; 如果是简单的n很小的情况还好&#xff0c;但是可以看到n的取值横跨整个整数范围&#xff0c; 如果n非常大&#xff0c;一次一次乘x效率低是其一。 一般来…

十、数据结构——链式队列

数据结构中的链式队列 目录 一、链式队列的定义 二、链式队列的实现 三、链式队列的基本操作 ①初始化 ②判空 ③入队 ④出队 ⑤获取长度 ⑥打印 四、循环队列的应用 五、总结 六、全部代码 七、结果 在数据结构中&#xff0c;队列&#xff08;Queue&#xff09;是一种常见…

【MySQL】存储引擎(六)

&#x1f697;MySQL学习第六站~ &#x1f6a9;本文已收录至专栏&#xff1a;MySQL通关路 ❤️文末附全文思维导图&#xff0c;感谢各位点赞收藏支持~ 一.引入 大家可能没有听说过存储引擎&#xff0c;但是一定听过引擎这个词&#xff0c;引擎就是发动机&#xff0c;是一个机器…

PCB封装设计指导(十五)验证封装的正确性

PCB封装设计指导(十五)验证封装的正确性 封装建立好之后,我们需要验证封装是否能够正常的放入PCB文件中,最好最直接的办法就是直接放入PCB中来验证。 具体操作如下 任意新建一个空白的PCB文件点击File 选择NEW

搭建关键字驱动自动化测试框架

前言 上篇文章我们已经了解到了数据驱动自动化测试框架是如何构建和驱动测试的&#xff01;那么这篇文章我们将了解关键字驱动测试又是如何驱动自动化测试完成整个测试过程的。关键字驱动框架是一种功能自动化测试框架&#xff0c;它也被称为表格驱动测试或者基于动作字的测试…

一站式解决方案:Qt 跨平台开发灵活可靠

Qt 是一种跨平台开发工具&#xff0c;为开发者提供了一站式解决方案。无论您的项目目标是 Windows、Linux、macOS、嵌入式系统还是移动平台&#xff0c;Qt 都能胜任。这种跨平台的特性不仅节省开支&#xff0c;还推动了战略的快速落地。 适用范围广泛&#xff1a;Qt 可在多种操…

从新手到专业人士:探索 C++ STL 以获得终极性能

探索 C STL 以获得终极性能 博主简介一、引言二、C STL 简介2.1、STL 是什么&#xff1f;2.2、STL 中的常用组件2.3、STL 的优点 三、入门指南&#xff1a;了解基本概念和用法3.1、容器&#xff1a;vector、list、deque、set、map 等3.2、算法&#xff1a;查找、排序、遍历等3.…

C# IO FileStream流(一)使用整理

一、C# IO 文件流&#xff0c;常用操作整理 来自其他开发者的整理&#xff1a; 文件操作常用相关类 1)Directory //操作目录&#xff08;文件夹&#xff09;&#xff0c;静态类。2)Path//静态类&#xff0c;对文件或目录的路径进行操作&#xff08;很方便&#xff09;【字符…

解决Element-Plus中Swtich @change自动被触发的问题

如图所示 这个switchChange事件在初始化的时候会被自动触发 烦得很 解决方法 如图所示 第471行 通过判断是否还有其它某元素再往下执行 如果你有其它方法 请你在评论区教我下哈 3q

智慧园区楼宇合集 | 图扑数字孪生管控系统

智慧园区是指将物联网、大数据、人工智能等技术应用于传统建筑和基础设施&#xff0c;以实现对园区的全面监控、管理和服务的一种建筑形态。通过将园区内设备、设施和系统联网&#xff0c;实现数据的传输、共享和响应&#xff0c;提高园区的管理效率和运营效益&#xff0c;为居…

【MySQL】索引 (八)

&#x1f697;MySQL学习第八站~ &#x1f6a9;本文已收录至专栏&#xff1a;MySQL通关路 ❤️文末附全文思维导图&#xff0c;感谢各位点赞收藏支持~ 一.引入 索引&#xff08;index&#xff09;是帮助MySQL高效获取数据的数据结构(有序)。数据库除了存储数据之外&#xff0c;…

Vue异步更新、$nextTick

需求&#xff1a;编辑标题, 编辑框自动聚焦 1. 点击编辑&#xff0c;显示编辑框 2. 让编辑框&#xff0c; 立刻获取焦点 this. isShowEdit true // 显示输入框 this . $refs . inp . focus () // 获取焦点 问题&#xff1a;"显示之后"&#xff0c;立刻获…

Bash编程

目录&#xff1a; bash编程语法bash脚本编写 1.bash编程语法 Bash 编程基础 变量引号数组控制语句函数 Bash 变量 语法&#xff1a; Variable_namevalue Bash 变量定义的规则 变量名区分大小写&#xff0c;a和A为两个不同的变量。变量名可以使用大小写字母混编的形式进行…

淘票猫影城系统-Spring Boot版

文章目录 一、引言TIPSticketcatticketcat-wechat-miniprogramticketcat-web-userticketcat-web-manager 三、项目截图wechat-miniprogramweb-userweb-manager 四、License 前往闪闪の小窝以获得更好的阅读和评论体验 一、引言 项目地址&#xff1a; 项目名项目内容项目地址开…