数据库设计-DDL

D D L \huge{DDL} DDL
DDL:数据库定义语言,用来定义数据对象(数据库、表)

简单操作

首先在cmd中进行操作,登录数据库

show databases;		-- 以列表的形式显示所有的数据库

在这里插入图片描述

create database [if not exists] 数据库名称		-- 创建数据库

在这里插入图片描述

use 数据库		-- 切换使用的数据库 

在这里插入图片描述

select database()				-- 显示当前正在使用的数据库是哪一个数据库

在这里插入图片描述

drop database [if exists] 数据库名称		-- 删除数据库

在这里插入图片描述
db01已经被删除。

IDEA中集成MySQL

直接在cmd中使用MySQL没有语法补全非常的难受,可以在IDEA中集成MySQL,就可以将大批量的SQL语言转换为图形操作。(❗❗但并不是说SQL语言就不重要了!!

①. 启动IDEA

②. 集成MySQL

在IDEA边栏找到DataBase,导入MySQL数据库
在这里插入图片描述
进入这个界面:
在这里插入图片描述
主机端口号什么的不用动,只要填写User与Password即可(就是刚才在cmd中注册),然后点击下面的Test Connection来测试是否连接成功,如果没有相关的依赖jar包,则需要在此界面下载。
在这里插入图片描述
连接通过,确定即可。

③. IDEA集成MySQL界面介绍

在这里插入图片描述
勾选了All schemas可以显示所有的数据库,包括MySQL本身的系统数据库。
❗❗注:schemas == database,两者指的是一个东西
在这里插入图片描述
左上角的+号可以呼出控制台Console
在这里插入图片描述
数据库中的层级结构
IDEA中MySQL集成完毕后,就可以正式开始DDL的学习了。

DDL

⭐⭐⭐⭐⭐建表

create table 表名字(字段1 字段类型 [约束][comment 字段1注释],.....字段n 字段类型 [约束][comment 字段n注释]
)[comment 表注释];

约束用来限制表中的字段数据,保证表中的数据的正确性有效性等。
常见约束:
在这里插入图片描述
示例:

create table tb_user(id int comment 'ID, 唯一标识',username varchar(20) comment '用户名',name varchar(10) comment '姓名',age int comment '年龄',gender char(1) comment '性别'
) comment '用户表';

❗DDL中的字符串类型可不是String,是varchar(),后面是字符串的长度。
带有约束的建表语句:

-- 创建: 基本语法 (约束)
create table tb_user(id int primary key auto_increment comment 'ID, 唯一标识',username varchar(20) not null unique comment '用户名',name varchar(10) not null comment '姓名',age int comment '年龄',gender char(1) default '男' comment '性别'
) comment '用户表';

IDEA中的图形化建表
再数据库上右键,找到如下的栏目:
在这里插入图片描述
建表新旧UI都可以,但是个人感觉旧UI建表更方便。
在这里插入图片描述
上面改表名字,下面+可以添加数据列。
在这里插入图片描述
从左到右上面三栏依次为名字类型和默认值。最右侧的气泡部分则是comment解释
在这里插入图片描述
可以为新建的数据栏写一点注解什么的。
在这里插入图片描述
下面三个约束依次为 非空,自增,值唯一和主键,需要什么就勾选什么的。

建表语句示例:

create table tb_emp(id int primary key auto_increment comment '主键ID',username    varchar(20)                  not null comment '用户名',password    varchar(32) default '123456' null comment '密码',name        varchar(10)                  not null comment '姓名',gender      tinyint unsigned             not null comment '性别, 1 男, 2 女',image       varchar(300)                 null comment '图像url',job         tinyint unsigned             null comment '职位, 1 班主任 , 2 讲师 , 3 学工主管, 4 教研主管',entrydate   date                         null comment '入职日期',create_time datetime                     not null comment '创建时间',update_time datetime                     not null comment '修改时间',constraint tb_emp_username_uindex unique (username)
) comment '员工表';

❗特别注意的是,无论什么表都有两个数据列是通用的,就是create_time和update_time,表创建时间和表的修改时间。

查询表

-- 查询数据当前的所有表
show tables;
--查询表的结构
desc 表名;
-- 查询建表语句
show create table 表名;

表修改

在这里插入图片描述
示例:

-- DDL: 修改表结构
-- 修改: 为表 tb_emp 添加字段 qq varchar(11)
alter table tb_emp add qq varchar(11) comment 'QQ';-- 修改: 修改 tb_emp 字段类型 qq varchar(13)
alter table tb_emp modify qq_num varchar(13) comment 'QQ';-- 修改: 修改 tb_emp 字段名 qq 为 qq_num varchar(13)
alter table tb_emp change qq qq_num varchar(13) comment 'QQ';-- 修改: 删除 tb_emp 的 qq_num 字段
alter table tb_emp drop column qq_num;-- 修改: 将tb_emp 表名修改为 emp
rename table tb_emp to emp;

此操作同样可以再IDEA中图形化
在这里插入图片描述
在这里插入图片描述

表删除

删除表:

drop table [if exists] 表名;

表被删除了内部的内容也就被删除了。
❗❗❗谨慎操作!!!
图形化操作:
在这里插入图片描述

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

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

相关文章

[C#]使用DlibDotNet人脸检测人脸68特征点识别人脸5特征点识别人脸对齐人脸比对FaceMesh

【官方框架地址】 https://github.com/takuya-takeuchi/DlibDotNet 【算法介绍】 DlibDotNet是一个开源的.NET库,用于实现机器学习和计算机视觉应用。它基于C库dlib,通过C/CLI封装了dlib的所有功能,为.NET开发者提供了简单易用的API。以下是…

Could not load library libcudnn_cnn_infer.so.8

报错: Could not load library libcudnn_cnn_infer.so.8. Error: /root/miniconda3/lib/python3.10/site-packages/torch/lib/libcudnn_cnn_infer.so.8: undefined symbol: _ZNK10cask_cudnn14BaseKernelInfo18minorCCVCompatibleENS_8SafeEnumINS_47ComputeCapa…

Nacos 持久化及集群的搭建【微服务】

文章目录 一、统一配置管理二、微服务配置拉取三、配置热更新四、多环境共享配置五、Nacos 集群搭建1. 集群结构2. 初始化数据库3. 搭建集群 六、Nginx 反向代理七、启动项目测试 一、统一配置管理 案例练习的时候我们只有两个微服务,管理起来非常简单,但…

el-upload上传文件

需求:选中或拖拽文件后,使用http-request属性实现自动上传,并根据后端传回来的结果显示错误和控制fileList的显示,如果后端返回成功,则文件显示在文件列表处,如果后端返回失败,则文件列表不显示…

Qt/QML编程学习之心得:Timer的使用(22)

Qt中timer计时器如何使用? Timer的创建: void InitTimer(){myTimer = new QTimer(q);myTimer->setInterval(100); // 100msmyTimer->setSingleShot(true); //只运行一次的计时器QObject::connect(myTimer,SIGNAL(timeout()),q,SLOT(onTimeOut()));myTimer->start(…

pythonMatplotlib一:pyplot模块

pyplot模块:是Matplotlib的主要模块,提供了类似于MATLAB的绘图接口。通过导入matplotlib.pyplot,可以使用其中的函数来创建和定制各种类型的图表。 1.绘制折线图: import matplotlib.pyplot as pltx [1, 2, 3, 4, 5] y [6, 7,…

提供小红书笔记详情API的使用说明

小红书笔记详情API的使用说明: 注册与认证: 在使用小红书笔记详情API之前,首先需要在小红书开放平台上注册并创建一个应用。完成注册后,你将获得一个appKey和appSecret,这两个参数在后续的API调用中是必需的。 API调用…

Oracle分区表

文章目录 A. varchar2类型时间字段(20240102)分区实战1. 表要不要分区2. 将已经存在的表改造为分区表(时间字段,varchar2类型)3. 增加分区3.1 增加分区3.2 置换分区,不会复制索引,不要用这种语法建表,这是专门为置换分区用的3.3 分…

SonarQube 漏洞扫描

SonarQube 漏洞扫描 一、部署服务 1.1 docker方式部署 #安装docker curl -L download.beyourself.org.cn/shell-project/os/get-docker-latest.sh | sh yum install -y docker-compose #进去输入:set paste可以保证不穿行 [rootlocalhost sonar]# vim docker-compose.yml v…

【正点原子STM32连载】第二十六章 USMART调试实验 摘自【正点原子】APM32E103最小系统板使用指南

1)实验平台:正点原子APM32E103最小系统板 2)平台购买地址:https://detail.tmall.com/item.htm?id609294757420 3)全套实验源码手册视频下载地址: http://www.openedv.com/docs/boards/xiaoxitongban 第二…

MySQL主从配置【linux版】

MySQL主从配置 参考文档 https://blog.csdn.net/richie696/article/details/114261284 步骤 准备3台虚拟机,并在虚拟机上安装mysql服务 修改3台主机的mysql服务的server-uuid,保证他们的uuid都不同。UUID可以找网站生成。 vim /var/lib/mysql/auto.cnf配置主库【…

springboot进行Swagger配置

简单介绍一下Swagger: Swagger是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法,参数和模型紧密集成到服务器端的代码,允许…

java基于SSM的游戏商城的设计与实现论文

基于SSM的游戏商城的设计与实现 摘 要 当下,正处于信息化的时代,许多行业顺应时代的变化,结合使用计算机技术向数字化、信息化建设迈进。以前相关行业对于游戏信息的管理和控制,采用人工登记的方式保存相关数据,这种以…

springcloud实现配置的动态获取

springcloud实现配置的动态获取 依赖 <dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> </dependency>使用注解Value Value("${spring.dataId.versionId}&quo…

一篇博客或论文,多少字数比较合适?

一篇博客&#xff0c;多少字数比较合适&#xff1f; 博客的字数并没有严格的规定&#xff0c;但为了兼顾读者的阅读体验和搜索引擎优化&#xff08;SEO&#xff09;&#xff0c;一般建议以下参考范围&#xff1a; 简短型博客&#xff1a;约300-500字。这种长度适用于发布简短观…

【C++】内存对齐

本篇文章介绍C中的内存对齐&#xff0c;后续介绍C的union和C的variant的时候&#xff0c;需要用到这部分的知识。 占用内存 先回忆下C各个数据类型占用的内存大小&#xff1a; int&#xff1a;所占内存大小&#xff1a;4byte 32bit&#xff1b;char&#xff1a;所占内存大小…

x-cmd-mod | zuz - 压缩或解压文件

目录 简介首次用户子命令x zuz zx zuz uzx zuz uzrx zuz ls 相关链接 简介 zuz 为 x-cmd 中的必用模块之一&#xff0c;提供压缩与解压文件的功能。 x z 就是调用 x zuz z&#xff0c;可将目标文件压缩根据后缀名成指定格式&#xff0c;x uz 则可以解压任何格式的压缩包 首次…

四个模型建模及数据分析整理(基于Titanic数据集)

目录 介绍&#xff1a; 二、数据 2.1引用数据 2.2检查缺失数据 2.2.1手动检查缺失数据 2.2.2查看某一个特征值为空数据 2.3补充缺失数据 2.3.1盒图 2.3.2手动用均值填补缺失数据 2.3.3手动用类别填补缺失数据 三、数据分析 3.1男女生存比例 3.2男女生存数 3.3船舱级…

ROS学习笔记(11)进一步深入了解ROS第五步

0.前提 我在学习宾夕的ROS公开课的时候发现&#xff0c;外国的对计算机的教育和国内的是完全不一样的&#xff0c;当你接触了外国的课程后回头看自己学的会发现好像自己啥也没学。我这里可以放出来给大家看一下。 1.Python and C 2.Python PDB Tutorial&#xff1a;Python Deb…

PyTorch|构建自己的卷积神经网络

如何搭建网络&#xff0c;这在深度学习中非常重要。简单来讲&#xff0c;我们是要实现一个类&#xff0c;这个类中有属性和方法&#xff0c;能够进行计算。 一般来讲&#xff0c;使用PyTorch创建神经网络需要三步&#xff1a; 继承基类&#xff1a;nn.Module 定义层属性 实现…