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] 表名;
表被删除了内部的内容也就被删除了。
❗❗❗谨慎操作!!!
图形化操作: