数据库设计-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.rhkb.cn/news/232982.html

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

相关文章

【unity】Obi插件架构组成(参数详细解释)——解算器四面板设置、三种更新器、参与者介绍

文章目录 一、架构(Architecture)1.1 Obi解算器(ObiSolver)1.2 ObiUpdater1.3 ObiActorBlueprint1.4 Obi参与者(ObiActor,如ObiRope等) 二、Obi解算器(ObiSolver)2.1 解算…

uniapp中组件库的Textarea 文本域的丰富使用方法

目录 #平台差异说明 #基本使用 #字数统计 #自动增高 #禁用状态 #下划线模式 #格式化处理 API #List Props #Methods #List Events 文本域此组件满足了可能出现的表单信息补充,编辑等实际逻辑的功能,内置了字数校验等 注意: 由于…

【深度学习:Few-shot learning】理解深入小样本学习中的孪生网络

【深度学习:Few-shot learning】理解深入小样本学习中的孪生网络 深入理解孪生网络:架构、应用与未来展望小样本学习的诞生元学习小样本学习孪生网络的基本概念孪生网络的细节Triplet Loss架构特点关键组件训练过程主要应用领域未来展望示例图片结论 深入…

经典八股文之RocketMQ

核心概念 NameServer nameserver是整个rocketmq的大脑,是rocketmq的注册中心。broker在启动时向所有nameserver注册。生产者在发送消息之前先从 NameServer 获取 Broker 服务器地址列表(消费者一 样),然后根据负载均衡算法从列表中选择一台服务器进行消…

Matplotlib for C++不完全手册

matplotlib-cpp是Matplotlib(MPL)为C提供的一个用于python的matplotlib绘图库的C包装器。它的构建类似于Matlab和matplotlib使用的绘图API。 However, the function signatures might differ and Matplotlib for C does not support the full functional…

电子学会C/C++编程等级考试2023年12月(二级)真题解析

C/C++编程(1~8级)全部真题・点这里 第1题:统计指定范围里的数 给定一个数的序列S,以及一个区间[L, R], 求序列中介于该区间的数的个数,即序列中大于等于L且小于等于R的数的个数。 时间限制:1000 内存限制:65536 输入 第一行1个整数n,分别表示序列的长度。(0 < n ≤…

ThinkPHP5多小区物业管理系统源码(支持多小区)

基于 ThinkPHP5 Bootstrap 倾力打造的多小区物业 管理系统源码&#xff0c;操作简单&#xff0c;功能完善&#xff0c;用户体验良好 开发环境PHP7mysql 安装步骤: 1.新建数据库db_estate,还原数据db_estate.sql 2.修改配置文件&#xff1a;application/database.php 3.运…

pyqt6 + pycharm 搭建+使用入门

首先安装PyQt6和PyQt6-tools。使用如下命令&#xff1a; pip install PyQt6 PyQt6-tools 但是运行后会报如下错误&#xff1a; 这个时候按照提示执行命令升级pip即可 python.exe -m pip install --upgrade pip 配置pycharm&#xff1a; 打开pycharm&#xff0c;进入setting&am…

Java最大优先队列设计与实现

Java 学习面试指南&#xff1a;https://javaxiaobear.cn 1、API设计 类名MaxPriorityQueue构造方法MaxPriorityQueue(int capacity)&#xff1a;创建容量为capacity的MaxPriorityQueue对象成员方法private boolean less(int i,int j)&#xff1a;判断堆中索引i处的元素是否小…

Mathtype7.4安装与嵌入WPS

文章目录 Mathtype安装教程&#xff08;7.4&#xff09;Mathtype简介Mathtype下载安装软件下载软件安装运行MathType.exe运行注册表 Mathtype嵌入wps Mathtype安装教程&#xff08;7.4&#xff09; Mathtype简介 MathType是一款强大的数学公式编辑器&#xff0c;适用于教育教…

npm发布js工具包

一、创建项目 1、在github上创建一个项目&#xff0c;然后拉取至本地&#xff0c;进入项目目录2、执行 npm init 生成json文件3、创建 src/index.ts 入口文件和 src/isObject.ts 工具方法 src/index.ts export { default as isObject } from ./isObject src/isObject.ts /…

通俗易懂的15个Java Lambda表达式案例

文章目录 1. **实现Runnable接口**&#xff1a;2. **事件监听器**&#xff08;如Swing中的ActionListener&#xff09;&#xff1a;3. **集合遍历**&#xff08;使用forEach方法&#xff09;&#xff1a;4. **过滤集合**&#xff08;使用Stream API&#xff09;&#xff1a;5. …

MATLAB基本绘图操作(二维和三维绘图)

MATLAB基本绘图操作 文章目录 MATLAB基本绘图操作1、二维平面绘图1.1、线条&#xff08;折线图&#xff09;1.2、条形图1.3、极坐标图1.4、散点图 2、三维立体绘图2.1、三维曲面图2.2、三维曲线图&#xff08;点图&#xff09; 3、图片分区&#xff08;子图&#xff09; 1、二维…

2024最新最全【CTF攻防夺旗赛教程】,零基础入门到精通

对于想学习或者参加CTF比赛的朋友来说&#xff0c;CTF工具、练习靶场必不可少&#xff0c;今天给大家分享自己收藏的CTF资源&#xff0c;希望能对各位有所帮助。 CTF在线工具 首先给大家推荐我自己常用的3个CTF在线工具网站&#xff0c;内容齐全&#xff0c;收藏备用。 1、C…

(适趣AI)Vue笔试题

&#x1f4d1;前言 本文主要是【Vue】——&#xff08;适趣AI&#xff09;Vue笔试题的文章&#xff0c;如果有什么需要改进的地方还请大佬指出⛺️ &#x1f3ac;作者简介&#xff1a;大家好&#xff0c;我是听风与他&#x1f947; ☁️博客首页&#xff1a;CSDN主页听风与他 …

Java 堆的设计,如何用堆进行排序

Java 学习面试指南&#xff1a;https://javaxiaobear.cn 1、堆的定义 堆是计算机科学中一类特殊的数据结构的统称&#xff0c;堆通常可以被看做是一棵完全二叉树的数组对象。 1、堆的特性 它是完全二叉树&#xff0c;除了树的最后一层结点不需要是满的&#xff0c;其它的每一层…

Spring之代理模式

1、概念 1.1 介绍 二十三种设计模式中的一种&#xff0c;属于结构型模式。它的作用就是通过提供一个代理类&#xff0c;让我们在调用目标方法的时候&#xff0c;不再是直接对目标方法进行调用&#xff0c;而是通过代理类间接调用。让不属于目标方法核心逻辑的代码从目标方法中…

Python 面向对象之反射

Python 面向对象之反射 【一】概念 反射是指通过对象的属性名或者方法名来获取对象的属性或调用方法的能力反射还指的是在程序额运行过程中可以动态获取对象的信息(属性和方法) 【二】四个内置函数 又叫做反射函数 万物皆对象&#xff08;整数、字符串、函数、模块、类等等…

后端开发——JDBC的学习(三)

本篇继续对JDBC进行总结&#xff1a; ①通过Service层与Dao层实现转账的练习&#xff1b; ②重点&#xff1a;由于每次使用连接就手动创建连接&#xff0c;用完后就销毁&#xff0c;这样会导致资源浪费&#xff0c;因此引入连接池&#xff0c;练习连接池的使用&#xff1b; …

霍兰德职业兴趣测试 60题(免费版)

霍兰德职业兴趣理论从兴趣的角度出发探索职业指导的问题&#xff0c;明确了职业兴趣的人格观念&#xff0c;使得人们对于职业兴趣的认识有了质的变化。在霍兰德职业兴趣理论提出来之前&#xff0c;职业兴趣和职业环境二者分别独立存在&#xff0c;正是霍兰德的总结&#xff0c;…