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

数据库概述和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.mzph.cn/news/7691.shtml

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

相关文章

Databend 开源周报第 103 期

Databend 是一款现代云数仓。专为弹性和高效设计,为您的大规模分析需求保驾护航。自由且开源。即刻体验云服务:https://app.databend.cn 。 Whats On In Databend 探索 Databend 本周新进展,遇到更贴近你心意的 Databend 。 创建网络策略 …

Blender自动化脚本,无人值守批量渲图/渲视频

渲染视频是个非常耗时的大工程,如果要渲染多个视频或者每个视频还需要切换不同的贴图、颜色等,工作量就更离谱了,所以不得不用脚本实现自动化。 Blender的脚本是用Python编写,比PS的js要方便很多。再下载一套Blender对应版本的AP…

24.实现线性拟合和相关系数(matlab程序)

1.简述 1. 基本语法 1.1 corr函数基本语法 语法 说明 rho corr(X) 返回输入矩阵X中每对列之间的两两线性相关系数矩阵。 rho corr(X, Y) 返回输入矩阵X和Y中每对列之间的两两相关系数矩阵。 [rho, pval] corr(X, Y) 返回pval,一个p值矩阵&#xff0c…

redis安装

安装redis 安装依赖环境 yum install -y gcc cd /opt tar -xf redis-5.0.7.tar cd redis-5.0.7/ make && make install PREFIX/usr/local/redis installvim /opt/redis-5.0.7/utils/install_server.shcd /opt/redis-5.0.7/utils ./install_server.sh Please select the…

极简并优雅的在IDEA使用Git远程拉取项目和本地推送项目

连接Git 搜索Git然后将你下载好的Git的文件目录位置给他弄进去就行 本地分支管理 分支管理通常是在IDEA的右下角找到 连接远程仓库 方法1本地项目推送到远程仓库 如果当前项目还没交给Git管理的则按照以下图所示先将项目交给Git管理 然后此时文件都会是红色的,这表…

C# 存在重复元素

217 存在重复元素 给你一个整数数组 nums 。如果任一值在数组中出现 至少两次 ,返回 true ;如果数组中每个元素互不相同,返回 false 。 示例 1: 输入:nums [1,2,3,1] 输出:true 示例 2: 输…

从小白到大神之路之学习运维第67天-------Tomcat应用服务 WEB服务

第三阶段基础 时 间:2023年7月25日 参加人:全班人员 内 容: Tomcat应用服务 WEB服务 目录 一、中间件产品介绍 二、Tomcat软件简介 三、Tomcat应用场景 四、安装配置Tomcat 五、配置目录及文件说明 (一)to…

zabbix钉钉报警

登录钉钉客户端,创建一个群,把需要收到报警信息的人员都拉到这个群内. 然后点击群右上角 的"群机器人"->"添加机器人"->"自定义", 记录该机器人的webhook值。 添加机器人 在钉钉群中,找到只能群助手 添加机器人 选择自定义机…

IDEA+SpringBoot +ssm+ Mybatis+easyui+Mysql求职招聘管理系统网站

IDEASpringBoot ssm MybatiseasyuiMysql求职招聘管理系统网站 一、系统介绍1.环境配置 二、系统展示1. 登录2.注册3.首页4.公司5.关于我们6.我的简历7.我投递的简历8.修改密码9. 管理员登录10.我的信息11.用户信息12.职位类别13. 职位列表14. 公司列表15. 日志列表 三、部分代码…

Visual Studio 2022 cmake配置opencv开发环境

1. 环境与说明 这里我用的是 widnows 10 64位,Visual Studio 用的 Visual Studio Community 2022 (社区版) 对于Android开发工程师来说,为什么要使用Visual Studio 呢 ? 因为在Visual Studio中开发调试OpenCV方便,可以开发调试好后&#xf…

Transformer+医学图像最新进展【2023】

Transformer主要用于自然语言处理领域。近年来,它在计算机视觉(CV)领域得到了广泛的应用。医学图像分析(MIA,Medical image analysis)作为机器视觉(CV,Computer Vision)的一个重要分支,也极大地受益于这一最先进的技术。 机构:新加坡国立大学机械工程系、中山大学智能系…

安装nvm管理node

1.首先卸载已存在的node cmd输入node提示:‘node’ 不是内部或外部命令,也不是可运行的程序或批处理文件。 2.安装nvm 安装地址 :Releases coreybutler/nvm-windows GitHub 本人选择1.1.7 输入nvm打印出了nvm的指令列表,说明…

IDEA+SpringBoot + Mybatis + Shiro+Bootstrap+Mysql资产设备管理系统

IDEASpringBoot Mybatis ShiroBootstrapMysql资产设备管理系统 一、系统介绍1.环境配置 二、系统展示1. 管理员登录2.用户新增3.用户设置4.岗位管理5. 审批节点6. 人员查询7. 组织设置8. 人员调整9.角色设置10.角色模块映射11.模块设置12.应用模块13.光纤交换机14.服务器15.网…

C++之文件操作

1.C文件操作 C中文件操作头文件:fstream。   文件类型:文件文件和二进制文件。 文件操作三大类:     ofstream 写操作     ifstream 读操作     fstream:读写操作 文件打开方式: 标志说明ios::in只读ios::out只写,文件不存在则…

大数据面试题:HBase读写数据流程

面试题来源: 《大数据面试题 V4.0》 大数据面试题V3.0,523道题,679页,46w字 参考答案: 1、写数据流程 1)Client先访问zookeeper,获取hbase:meta表位于哪个Region Server。 2)访…

使用TensorFlow训练深度学习模型实战(上)

大家好,尽管大多数关于神经网络的文章都强调数学,而TensorFlow文档则强调使用现成数据集进行快速实现,但将这些资源应用于真实世界数据集是很有挑战性的,很难将数学概念和现成数据集与我的具体用例联系起来。本文旨在提供一个实用…

P1149火柴棒等式题解

P1149[NOIP2008 提高组] 火柴棒等式 题目描述 给你 n n n 根火柴棍,你可以拼出多少个形如 A B C ABC ABC 的等式?等式中的 A A A、 B B B、 C C C 是用火柴棍拼出的整数(若该数非零,则最高位不能是 0 0 0)。用…

详解Mybatis查询之resultType返回值类型问题【4种情况】

编译软件:IntelliJ IDEA 2019.2.4 x64 操作系统:win10 x64 位 家庭版 Maven版本:apache-maven-3.6.3 Mybatis版本:3.5.6 文章目录 引言一、查询单行数据返回单个对象二、查询多行数据返回对象的集合三、 查询单行数据返回Map[Key,…

STN:Spatial Transformer Networks

1.Abstract 卷积神经网络缺乏对输入数据保持空间不变的能力,导致模型性能下降。作者提出了一种新的可学习模块,STN。这个可微模块可以插入现有的卷积结构中,使神经网络能够根据特征图像本身,主动地对特征图像进行空间变换&#x…

Maven学习笔记

Maven学习笔记 一、MAVEN基础1.1、Maven作用1.2、Maven基础概念1.2.1、仓库1.2.2、坐标1.2.2、仓库配置 1.3、 手动写一个maven程序1.4、依赖管理1.5、生命周期与插件1.5.1、构建生命周期1.5.2、插件 一、MAVEN基础 1.1、Maven作用 Maven的本质是一个项目管理工具&#xff0c…