当前位置: 首页 > article >正文

SQL——数据定义DDL

使⽤DDL语句可以创建、查询、修改、删除数据库、数据表。

目录

1 DDL数据库操作

1.1 创建数据库——create

1.2 查询数据库——show

1.3 修改数据库——alter

1.4 删除数据库——drop 

1.5 使用or切换数据库——use

2 DDL数据表操作

2.1 创建数据表——create

2.2 查询表结构——desc

2.3 删除数据表——drop

2.4 修改数据表——alter


1 DDL数据库操作

1.1 创建数据库——create

create database <name>;

# 创建数据库,当指定名称的数据库不存在时执⾏创建
create database if not exists <name>;

# 创建数据库的同时指定数据库的编码格式(utf8 gbk)
create database <name> character set utf8;

1.2 查询数据库——show

# 显示当前mysql中的数据库列表
show databases;
# 显示指定名称的数据的创建的SQL指令
show create database <name>;

1.3 修改数据库——alter

# 修改数据库的字符集 # utf8 gbk
alter database <name> character set utf8; 

1.4 删除数据库——drop 

# 删除数据库
drop database <name>;
# 若数据库存在则删除数据库
drop database is exists <name>;

1.5 使用or切换数据库——use

use <name>;

2 DDL数据表操作

2.1 创建数据表——create

CREATE  TABLE  <表名>(
    <列名>  <数据类型> [列级完整性约束定义]
{,  <列名> <数据类型> [列级完整性约束定义]… }
[, 表级完整性约束定义 ] 
);

在列级完整性约束定义处可定义的约束

  • NOT NULL:限制列取值非空(只能列级:从图形化方式就能看出)。
  • DEFAULT:给定列的默认值(只能列级:从图形化方式就能看出)。
  • UNIQUE:限制列取值不重。
  • CHECK:限制列的取值范围。
  • PRIMARY KEY:指定本列为主码。若在表级完整性约束处定义主码,PRIMARY KEY之后,必须将主码列用括号括起来,即: PRIMARY KEY(列1{[,列2 ] …})
  • FOREIGN KEY:定义本列为引用其他表的外码。若在表级完整性约束处定义外码,则 “FOREIGN KEY (<外码列名>)”部分不能省。
  • NOT NULL和DEFAULT只能是列级完整性约束(设置时在列后及列属性中); 其他约束均可在表级完整性约束处定义。
create table Student(
  S_num     char(7)      primary key,
  S_name    char(10)     not null,
  S_sex     char(2) , 
  S_age     tinyint ,
  S_dept    char(20)
);

2.2 查询表结构——desc

desc <name>

2.3 删除数据表——drop

drop table <name>;

# 当数据表存在时删除数据表
drop table if exists <name>;

2.4 修改数据表——alter

# 修改表名
alter table <name> rename to <new_name>;
# 数据表也是有字符集的,默认字符集和数据库⼀致
alter table <mame> character set utf8;
# 添加列(字段)
alter table <name> add <column_name> varchar(200);
# 修改列(字段)的列表和类型
alter table <name> change <old_Column_name> <new_Cloumn_ame> <type>;
# 只修改列(字段)类型
alter table <name> modify <column_name> <new_Type>;
# 删除列(字段)
alter table <name> drop <column_name>;


http://www.kler.cn/a/6316.html

相关文章:

  • 前端工作中问题点拆分
  • 全国青少年信息学奥林匹克竞赛(信奥赛)备考实战之分支结构(实战训练三)
  • OpenAI 12天发布会:AI革命的里程碑@附35页PDF文件下载
  • 基于ceres优化的3d激光雷达开源算法
  • Linux挖矿程序排查
  • 【Python】基础语法介绍
  • 【@ConditionOnBean】
  • [linux]基础IO
  • [课程][原创]yolov7目标检测封装成类调用
  • 手写vuex4源码(二)组件install逻辑
  • Android ART虚拟机 GC的各种类型
  • 分享一个国内可用的免费ChatGPT网站
  • 15_I.MX6ULL_LCD显示原理
  • [C++]类与对象上篇
  • DFSBFS总结
  • 《高等工程数学》习题卷(一)
  • 蓝桥杯训练day5
  • 【深度学习】基于Hough变化的答题卡识别(Matlab代码实现)
  • Text to image论文精读GigaGAN: 生成对抗网络仍然是文本生成图像的可行选择
  • day30 ● 332.重新安排行程 ● 51. N皇后 ● 37. 解数独
  • OBProxy 路由策略与使用运维-使用和运维
  • c++全排列 next_permutation()函数
  • 字节测试总监,让我们用这份《测试用例规范》,再也没加班过
  • 【故障诊断】基于最小熵反卷积、最大相关峰度反卷积和最大二阶环平稳盲反卷积等盲反卷积方法在机械故障诊断中的应用研究(Matlab代码实现)
  • vue尚品汇商城项目-day03【20.获取Banner轮播图的数据+21.使用swiper轮播图插件】
  • 【ZGC】为什么初始标记需要STW(stop the world) ?