数据库设计-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] 表名;

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

  • 11
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值