【Mysql】mysql的DDL数据定义语言-定义数据库对象:数据库,表,列等

本文详细介绍了如何在MySQL中使用DDL操作,包括创建、修改、删除数据库,以及创建、修改和删除数据表,涉及数据类型、表结构设计和SQL语句示例。
摘要由CSDN通过智能技术生成

DDL操作 数据库

创建数据库
•相关命令
在这里插入图片描述
•代码示例

/*  
    方式1 直接指定数据库名进行创建  
    默认数据库字符集为:latin1  
*/  
CREATE DATABASE db1;   
  
/*  
    方式2 指定数据库名称,指定数据库的字符集  
    一般都指定为 utf8,与Java中的编码保持一致  
*/  
CREATE DATABASE db1_1 CHARACTER SET utf8;  

查看/选择数据库
•相关命令

•代码示例

-- 切换数据库 从db1 切换到 db1_1  
USE db1_1;  

-- 查看当前正在使用的数据库  
SELECT DATABASE();  

-- 查看MySQL中有哪些数据库  
SHOW DATABASES;  

-- 查看一个数据库的定义信息  
SHOW CREATE DATABASE db1_1;  

修改数据库
•相关命令
在这里插入图片描述

•SQL示例

-- 将数据库db1 的字符集 修改为 utf8    
ALTER DATABASE db1 CHARACTER SET utf8;    
  
-- 查看当前数据库的基本信息,发现编码已更改    
SHOW CREATE DATABASE db1;  

删除数据库
•相关命令
在这里插入图片描述
代码示例

-- 删除某个数据库  
DROP DATABASE db1_1; 

DDL 操作 数据表

MySQL常见的数据类型
1)常用的数据类型:
在这里插入图片描述
2) 详细的数据类型(了解即可)
在这里插入图片描述

注意:MySQL中的 char类型与 varchar类型,都对应了 Java中的字符串类型,区别在于:
•char类型是固定长度的: 根据定义的字符串长度分配足够的空间。
•varchar类型是可变长度的: 只使用字符串长度所需的空间。

比如:保存字符串 “abc”
•x char(10) 占用10个字节。
•y varchar(10) 占用3个字节。

适用场景:
•char类型适合存储 固定长度的字符串,比如 密码 ,性别一类。
• varchar类型适合存储 在一定范围内,有长度变化的字符串 。
创建表

•需求1: 创建商品分类表
表名:category  
表中字段:   
分类ID :cid ,为整型  
    分类名称:cname,为字符串类型,指定长度20

语法格式:

CREATE TABLE 表名(  
    字段名称1 字段类型(长度),  
    字段名称2 字段类型  注意 最后一列不要加逗号  
)

SQL示例

-- 切换到数据库 db1  
USE db1;   
  
-- 创建表  
CREATE TABLE category(  
    cid INT,  
    cname VARCHAR(20)  
); 

•需求2: 创建测试表

表字段说明
表名: test1  
表中字段:  
    测试ID : tid ,为整型  
    测试时间: tdate , 为年月日的日期类型  

SQL示例

-- 创建测试表  
CREATE TABLE test1(  
    tid INT,  
    tdate DATE  
);  

•需求3: 快速创建一个表结构相同的表(复制表结构)

语法格式
create table 新表明 like 旧表名  

SQL示例

-- 创建一个表结构与 test1 相同的 test2表  
CREATE TABLE test2 LIKE test1;  
  
-- 查看表结构  
DESC test2; 

查看表
•相关命令
在这里插入图片描述

•SQL示例

-- 查看当前数据库中的所有表名  
SHOW TABLES;  
  
-- 显示当前数据表的结构  
DESC category;  
  
-- 查看创建表的SQL语句  
SHOW CREATE TABLE category; 

删除表
•相关命令

•SQL示例

-- 直接删除 test1 表  
DROP TABLE test1;  
  
-- 先判断 再删除test2表  
DROP TABLE IF EXISTS test2;  

修改表
•需求1: 将category表 改为 category1
语法格式

rename table 旧表名 to 新表名  

SQL示例

RENAME TABLE category TO category1;  

•需求2: 将category表的字符集 修改为gbk
修改表的字符集,语法格式

alter table 表名 character set 字符集  

SQL示例

alter table category character set gbk;  

•需求3: 为分类表添加一个新的字段为 分类描述 cdesc varchar(20)
向表中添加列, 关键字 ADD,语法格式:

alter table 表名 add 字段名称 字段类型  

SQL示例

-- 为分类表添加一个新的字段为 分类描述 cdesc varchar(20)  

ALTER TABLE category ADD cdesc VARCHAR(20);  

•需求4:对分类表的描述字段进行修改,修改为varchar(50)
修改表中列的 数据类型或长度 , 关键字 MODIFY,语法格式:

alter table 表名 modify 字段名称 字段类型  

SQL示例

ALTER table category MODIFY cdesc VARCHAR(50);  

•需求5: 对分类表中的 desc字段进行更换, 更换为 description varchar(30)
修改列名称 , 关键字 CHANGE,语法格式

alter table 表名 change 旧列名 新列名 类型(长度);   

SQL示例

ALTER TABLE category CHANGE cdesc description VARCHAR(30); 

•需求6: 删除分类表中description这列
删除列 ,关键字 DROP,语法格式:

alter table 表名 drop 列名;   

SQL示例

ALTER TABLE category DROP description;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ZikH~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值