MySQL数据库---库基本操作 以及 表结构的操作(DDL)

news2024/12/23 14:20:24

目录

前言

一.数据库的操作

1.1显示当前数据库

1.2创建数据库

1.3使用数据库 

1.4删除数据库

 二.数据类型

2.1数值类型

2.2字符串类型

2.3日期类型

三.数据表的操作

 3.1 创建表结构。

 3.2查看数据库中拥有的数据表

 3.3查看指定的表结构

  3.4修改表结构

  3.3删除表结构

   

总结       


😽个人主页:tq02的博客_CSDN博客-C语言,Java,Java数据结构领域博主
 🌈梦的目标:努力学习,打败数据库,拼搏一切,让自己的未来不会有遗憾。
 🎁欢迎各位→点赞👍 + 收藏⭐ + 评论📝+关注
  本章讲解内容:数据库的操作 以及  表结构的操作(DDL)

 使用:MySQL 数据库

前言

        一般数据库分为两种,关系型数据库和非关系型数据库。而我们使用MySQL操作的是关系型数据库。

SQL分类:

  • DDL数据定义语言,用于维护存储数据的结构。代表指令:create,drop,alter
  • DML数据操纵语言,用于对数据进行操作。代表指令:insert,delete,updat                             DML中又单独分了一个DQL,数据查询语言,代表指令:select
  • DCL数据控制语言,主要负责权限管理和事物。代表指令:grant,revoke,commit

接下来通过对数据库、表进行操作,来理解。

注:在MySQL当中,不区别大小写

一.数据库的操作

      1.1显示当前数据库

显示当前数据库,显示的是 目前为止 所拥有的数据库。     

          语法格式:SHOW DATABASES;

注:MySQL中会有4个自带的,因此千万不能操纵这4个数据库。否则可能会导致MySQL异常,需要重新安装。

1.2创建数据库

创建有3种方式

  1. 创建一个新的数据库,用于存放数据。                                                                               语法格式:CREATE DATABASE  数据库名;
  2. 创建一个数据库,不确定是否存在。  (使用IF NOT EXISTS  如果存在则不创建)           语法格式:CREATE DATABASE IF NOT EXISTS  数据库名;
  3. 创建一个 指定字符集 的数据库,不确定是否存在。                                                           语法格式:CREATE DATABASE IF NOT EXISTS 数据库名  CHARACTER SET  字符集名;

注:1.如果创建的数据库没有指定字符集时,默认为 utf8 

        2.由于MySQL的utf8编码不是真正的utf8,它不包含某些复杂的中文字符,建议使用utf8mb4

        3.字符集一般使用两种,gbk和utf8,不同的字符集,字符排序是不一样的。                                              gbk使用2个字节代表一个中文,utf8使用3个字节代表一个中文。 

创建实例图:

1.3使用数据库 

此方式,更加趋向于,指定数据库,然后对其进行其他操作。

      语法格式:use 数据库名;

1.4删除数据库

      语法格式:drop database  数据库名;

此操作,将数据库彻底删除,包含存储在数据库中的表和数据。慎之又慎!!!


 二.数据类型

        数据表里存放的数据是需要数据类型的。而数据库的数据类型和编程语言的数据类型不同,因此需要单独的学习。

可是有人会说怎么麻烦,为什么不通用呢?因为数据库出现的时间比Java语言早。

2.1数值类型

数值分为整型和浮点型。

数据类型大小说明对应的java类型
BIT [(M)]M指定位数,默认为1二进制数,M范围1到64,存储数值范围从0到2^M-1默认为1时,对应Boolean
TINYINT1字节        Byte
SMALLINT2字节        Short
INT4字节        Interger
BIGINT8字节        Long
FLOAT(M,D)4字节单精度,M指定长度,D指定小数位数        Float
DOUBLE(M,D)8字节        Double
DECIMAL(M,D)M/D最大值+2双精度,M指定长度,D指定小数位数        BigDecimal
NUMERIC(M,D)M/D最大值+2双精度,M指定长度,D指定小数位数        BigDecimal

注:1字节(bytes)=8bit。       数值类型可以指定为无符号,表示不取负数。

2.2字符串类型

数据类型大小说明对应的java类型
        VARCHAR(SIZE)   0 —— 65,535字节可变长度字符串        String
            TEXT   0 —— 65,535字节长文本数据        String
        MEDIUMTEXT   0 —— 16 777 215 字节中等长度文本数据        String
            BLOB   0 —— 65,535字节二进制形式长文本数据        byte[ ]

2.3日期类型

数据类型大小       说明对应的java类型
DATETIME  8字节范围从1000到9999年,不会进行时区的检索及转换。java.util.Date、java.sql.Timestamp
TIMESTAMP  4字节范围从1970到2038年,自动检索当前时区并进行转换java.util.Date、java.sql.Timestamp

一般使用DATETIME。


三.数据表的操作

需要操作数据表,我们需要先选择数据库:   use  数据库名;

3.1 创建表结构。

       语法格式:create Table 表名(

                         字段名1  数据类型     [ 列级完整性约束],

                          -------------------------   [ 列级完整性约束],

                          字段名n  数据类型    [ 列级完整性约束],

                        );

列级完整性约束:

  • NOT  NULL :限制列取值不为空。
  • DEFAULT: 给定列的默认值。
  • UNIQUE:限制列的取值不重复。
  • CHECK:限制列的取值范围。
  • PRIMARY KEY:指定本列为主码。
  • FREIGN  KEY :定义本列为引用其他表的外码。

注:列级完整性约束 可不用 定义,目前刚刚接触,之后会有更详细讲解。

        comment--->注释,可加可不加。且中文需要英文的单引号包括

讲解: 

3.2查看数据库中拥有的数据表

语法格式:show tables;

 3.3查看指定的表结构

        语法格式:desc 表名;

    讲解:

3.4修改表结构

        对数据表的结构进行修改。

  1.修改列的数据类型定义: alter   table   表名     MODIFY   字段    新字段类型                   2.修改列名 :  alter   table  表名  CHANGE COLUMN 旧字段名 新字段值  字段类型 ;           3.更改表名:alter   table   旧表名   RENAME  新表名 ;

  4.添加列:alter  table  表名 add  字段名 字段类型;

1.修改列的数据类型定义

  2.修改列名

 3.更改表名 

4.添加列


 3.3删除表结构

  1.将数据表彻底删除:drop 表名;                               

   2.删除数据表字段:2种,第一种删除单列:ALTER TABLE 表名 DROP 字段;

                                            第二种删除多列:  ALTER TABLE 表名 DROP 字段1,字段2;

 删除字段book_price之后,表中便无此字段。

总结       

      理解方式: 数据库------>仓库数据表------> 存放在仓库中已分类好的货物 ,数据库包含数据表。       

而数据库的操作步骤:

         1.用户在客户端输入 SQL。                                 2.客户端会把 SQL 通过网络发送给服务器             3.服务器执行这个 SQL把结果返回给客户端        4.客户端收到结果,显示到界面上

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

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

相关文章

2023-6-10-第五式原型模式

🍿*★,*:.☆( ̄▽ ̄)/$:*.★* 🍿 💥💥💥欢迎来到🤞汤姆🤞的csdn博文💥💥💥 💟💟喜欢的朋友可以关注一下&#xf…

vue3-实战-09-管理后台-SKU模块开发

目录 1-需求原型分析 2-功能模块开发 2.1-列表页面数据获取和展示 2.2-上架下架sku 2.3-更新sku信息 2.4-查看sku详情 2.5-删除sku 1-需求原型分析 列表页面就是el-card里面放置el-table结构,下面有个el-pagination组件显示分页器。点击查看详情的时候有个抽…

java SSM 学生住宿管理系统myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

一、源码特点 java SSM 学生住宿管理系统是一套完善的web设计系统(系统采用SSM框架进行设计开发,springspringMVCmybatis),对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采…

【指针数组】

指针数组 1. 指针运算1.1 指针-整数1.2 指针-指针1.3 指针的关系运算 2. 指针和数组3. 二级指针4. 指针数组 1. 指针运算 指针 整数 指针-指针 指针的关系运算 1.1 指针整数 #define N_VALUES 5 float values[N_VALUES]; float *vp; //指针-整数;指针的关系运算 …

基于Python的招聘信息可视化系统,附源码

文章目录 1 简介2 技术栈3 总体设计3.1 系统结构3.2 数据库设计3.2.1 数据库实体3.2.2 数据库表设计 4 运行设计4.1 招聘热门行业分析4.2热门岗位分析界面4.3招聘岗位学历分析界面4.4岗位分布分析界面 5 源码下载 1 简介 基于Python的招聘信息可视化系统,通过对招聘数据进行分…

界面开发框架Qt新手入门指南 - 使用Calendar组件创建日历(一)

Qt 是目前最先进、最完整的跨平台C开发工具。它不仅完全实现了一次编写,所有平台无差别运行,更提供了几乎所有开发过程中需要用到的工具。如今,Qt已被运用于超过70个行业、数千家企业,支持数百万设备及应用。 本文中的CalendarWi…

docker ansible与剧本模式

ansible(跨主机编排) ansible 是一个基于python开发的配置管理和应用部署和管理工具,现在也在自动化管理领域大放异彩,他融合了众多老牌运维工具的优点,pubbet和saltstack能实现的功能,ansible基本上都可以…

antd-vue - - - - - table增加统计行?

table增加统计行 尝试一、footer & Summary使用summary尝试二、直接将统计行push进dataSource 第一次遇到这个需求,有点懵。 在【antd-v table】官网仔细看了一番,找到这么两个配置footer[表格尾部]和Summary[总结栏]  所以可以证明,你所…

TDEngine3.x数据查询及插入调优

一、数据库创建 vgroups 配置 如果不了解vgroup概念,建议到官网查看:TDEngine官网-数据模型和整体架构 从服务端配置的角度,要根据系统中磁盘的数量,磁盘的 I/O 能力,以及处理器能力在创建数据库时设置适当的 vgroups…

Qt编写onvif工具(搜索/云台/预置位/OSD/录像存储)

一、前言 从最初编写这个工具开始的时间算起来,至少5年多,一直持续完善到今天,这个工具看起来小也不小大也不大,但是也是经历过无数个现场的洗礼,毫不夸张的说,市面上能够遇到的主流的厂商的设备&#xff…

【Flutter】如何 Dialog 弹窗设置点击空白处不关闭

文章目录 一、 引言二、 Flutter 中的 Dialog 弹窗1. 默认的 Dialog 行为介绍2. 解释为什么在某些情况下我们需要点击空白处不关闭 Dialog 三、 如何在 Flutter 中设置 Dialog 弹窗点击空白处不关闭1. 展示简单的代码示例2. 详细解释代码的每个部分 四、 一个完整的 Flutter Di…

SpringCloud服务注册与发现组件Eureka(五)

Eureka github 地址: https://github.com/Netflix/eureka Eureka简介 Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的。Spring…

迈入大模型时代,多模态AI通用化成未来趋势,景联文科技提供多模态数据集

ChatGPT带来2023年第一个火爆的风口。ChatGPT是人工智能技术驱动的自然语言处理工具,拥有语言理解和文本生成能力。无论是强大的视频脚本、文案、邮件、翻译、代码等内容生成能力,还是语义推理、情绪分析等对话能力,都让大众眼前一亮&#xf…

C++类和对象(继承)

4.6继承 继承是面向对象三大特性之一 有些类与类之间存在特殊的关系,例如下图中: 我们发现,定义这些类时,下级别的成员除了拥有上一级的共性,还有自己的特性。 这个时候我们就可以考虑利用继承的技术,减…

阿里云PAIx达摩院GraphScope开源基于PyTorch的GPU加速分布式GNN框架

作者:艾宝乐 导读 近期阿里云机器学习平台 PAI 团队和达摩院 GraphScope 团队联合推出了面向 PyTorch 的 GPU 加速分布式 GNN 框架 GraphLearn-for-PyTorch(GLT) 。GLT 利用 GPU 的强大并行计算性能来加速图采样,并利用 UVA 来减少顶点和边特征的转换和…

Spring Security Oauth2.1 最新版 1.1.0 整合 gateway 完成授权认证(拥抱 springboot 3.1)

目录 背景 版本 Spring Boot 3.1 Spring Authorization Server 1.1.0官方文档 基础 spring security OAuth2.0 模块构成 授权方式 集成过程 官方demo 代码集成 依赖 授权服务AuthorizationServerConfig配置 重要组件 测试 查看授权服务配置 访问授权服务 授…

AB32VG1:SDK_AB53XX_V061(5)蓝牙BLE测试笔记

文章目录 1.配置工程,重新编译1.1替换链接库libbtstack_dm.a1.2 《config.h》打开编译开关1.3 在 Downloader 里面打开 BLE 开关 2.ABLink(手机APP)控制2.1 app下载2.2 安装后打开,搜索蓝牙Bluetrum:2.3 操作存储卡 3.…

深度学习应用篇-元学习[14]:基于优化的元学习-MAML模型、LEO模型、Reptile模型

【深度学习入门到进阶】必看系列,含激活函数、优化策略、损失函数、模型调优、归一化算法、卷积模型、序列模型、预训练模型、对抗神经网络等 专栏详细介绍:【深度学习入门到进阶】必看系列,含激活函数、优化策略、损失函数、模型调优、归一化…

华为认证 | HCIP-Datacom-Core 考试大纲

01 考试概况 02 考试内容 HCIP-Datacom-Core Technology V1.0考试覆盖数据通信领域各场景通用核心知识,包括路由基础、OSPF、 IS-IS、BGP、路由和流量控制、以太网交换技术、组播、IPv6、网络安全、网络可靠性、网络服务与管理、 WLAN、网络解决方案。 ★路由基础 …

【MySQL 函数】:一文彻底搞懂 MySQL 函数(一)

前言 ✨欢迎来到小K的MySQL专栏,本节将为大家带来MySQL字符串函数和数学函数的讲解✨ 目录 前言一、字符串函数二、数学函数三、总结 一、字符串函数 函数作用UPPER(列|字符串)将字符串每个字符转为大写LOWER(列|字符串)将字符串每个字符转为小写CONCAT(str1,str2,…