SQL语句之DDL语言

news2024/11/17 19:46:29

说明:DDL(Data Definition Language,数据定义语言),用来定义数据库对象(数据库、表),包括了数据库和表的创建、查询、使用和删除操作。

一、数据库操作

新安装的数据库,默认有以下四个数据库,可输入下面的SQL语句查看

# 查看所有数据库
show databases ;

在这里插入图片描述

创建

创建一个名称为“db_test”的数据库;

create database db_test;

使用

使用db_test数据库,可以理解为切换到某个数据库内;

use db_test;

查询

(1)查询所有的数据库,可以看到我们刚刚新加的数据库;

show databases;

在这里插入图片描述

(2)查询当前的数据库

# 使用db_test数据库
use db_test;

select database();

在这里插入图片描述

删除

删除db_test数据库

drop database db_test;

show databases;

在这里插入图片描述

值得一提的是,如果创建数据库时数据库已存在,或者删除数据库时数据库不存在,执行SQL语句会失败。可以在创建或删除数据时,增加判断。表示如果数据库不存在,则创建;如果数据库存在,则删除,来避免SQL语句执行失败。

如果数据库不存在,创建数据库

create database if not exists db_test;

如果数据库存在,删除数据库

drop database if exists db_test;

二、表操作

约束

在设计表时,我们常常要用到约束,比如身份证号码唯一、姓名不能为空、默认为0等等;数据库中提供了以下五种约束,可在SQL语句中使用,表明设置该字段为对应的约束;

非空约束(not null):限制该字段不能为null;

唯一约束(unique):保证字段的所有数据都是唯一、不重复的;

主键约束(primary key):主键是一行数据的唯一标识,要求非空且唯一,可用auto_increment,即数字自增;

默认约束(default):保存数据时,如果未指定该字段值,则采用默认值;

外键约束(foreign key):让两张表的数据建立连接,保证数据的一致性和完整性;

创建

创建一个学生表:

学号:主键,字符长度为10;

姓名:非空,字符长度为6;

性别:字符长度为2,默认未知;

手机号:非空、唯一,字符长度为11;

入学日期:可为空,日期类型

use db_test;

create table tb_stu(
    stu_id char(10) primary key comment '学号',
    name varchar(6) not null comment '姓名',
    gender char(2) default '未知' comment '性别',
    phone char(11) not null comment '手机号',
    join_date date comment '入学日期'
) comment '学生表';

注:comment为注释,加在字段后面为字段的注释,加在表后面为表的注释;
在这里插入图片描述

修改

(1)添加字段:添加年龄(age)、家庭地址(address)字段。修改后,可用SQL语句(desc 表名)查看表结构,看修改是否成功;

alter table tb_stu add age tinyint comment '年龄';

alter table tb_stu add address varchar(50) comment '家庭住址';

在这里插入图片描述

(2)修改字段类型:修改家庭住(address)类型为char(20);

alter table tb_stu modify address char(20) comment '家庭地址';

在这里插入图片描述
(3)修改字段名和字段类型:修改家庭住址(Address)字段名为籍贯,类型改为varchar(10);

alter table tb_stu change address origin varchar(10) comment '籍贯';

在这里插入图片描述

(4)删除字段:删除年龄(age)字段;

alter table tb_stu drop column age;

在这里插入图片描述

(5)修改表名:修改表名(tb_stu)为table_stu;

# 修改表名(tb_stu)为table_stu;
rename table tb_stu to table_stu;

# 显示当前数据下的所有表;
show tables;

在这里插入图片描述

查询

(1)查询当前数据库所有表:先再建一张表(tb_emp),查询当前数据库的所有表;

show tables;

在这里插入图片描述

(2)查询表结构:查看table_stu表的结构;

desc table_stu;

在这里插入图片描述

(3)查询建表语句:查看table_stu表的建表语句;

show create table table_stu;

在这里插入图片描述

删除

删除table_stu表;

drop table table_stu;

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/604669.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

计算机网络-数据链路层

概念 结点:主机、路由器 链路:结点间物理通道 数据链路:结点间逻辑通道,控制数据传输协议的硬件和软件加到链路上构成数据链路 帧:链路层的协议数据单元,封装网络层数据报 数据链路层负责通过一条链路从一…

银行转账问题(死锁)

本文主要讲述死锁的一个经典案例—银行转账问题,并对该问题进行定位、修复。 1. 问题说明 当账户A对账户B进行转账时, 首先需要获取到两把锁:账户A和账户B的锁。获取两把锁成功,且余额大于0,则扣除转出人的余额&…

我记不住的那些C语言的struct知识

背景: 最近在重学C语言,目的是为了能看懂操作系统的底层代码,也为后续使用C语言开发一个类似redis数据库的中间件做准备,于是又重新踏上了学习C语言的道路,早在上学期间就学习过C语言,但是很久都不用了&…

ssm学习-spring01

Spring_day01 今日目标 掌握Spring相关概念完成IOC/DI的入门案例编写掌握IOC的相关配置与使用掌握DI的相关配置与使用1,课程介绍 对于一门新技术,我们需要从为什么要学、学什么以及怎么学这三个方向入手来学习。那对于Spring来说: 1.1 为什么要学? 从使用和占有率看 Spri…

使用 ChatGPT API 构建系统(一):分类

今天我学习了DeepLearning.AI的 Building Systems with the ChatGPT API 的在线课程,我想和大家一起分享一下该门课程的一些主要内容。 下面是我们通过Openai API来访问ChatGPT模型的主要代码: import openai#您的openai的api key openai.api_key YOUR…

chatgpt赋能python:Python删除节点:从入门到实践

Python删除节点:从入门到实践 在任何编程语言中,删除节点都是一个极为常见的操作。在Python中,它同样非常重要,因为我们通常会使用Python处理各种数据结构,诸如树、链表等等。但是,删除节点并不总是一件容…

C++类和对象 -- 知识点补充

补充 const成员函数static成员友元内部类匿名对象拷贝对象时的一些编译器优化 const成员函数 将const修饰的成员函数称为const成员函数,const修饰类成员函数,实际是修饰该成员函数隐含的this指针,表明在该成员函数中不能对类的成员进行修改。…

javaWeb ssh自习室管理系统myeclipse开发mysql数据库MVC模式java编程计算机网页设计

一、源码特点 java ssh自习室管理系统是一套完善的web设计系统(系统采用ssh框架进行设计开发),对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S 模式开发。开发环境为TOMCAT7.0,…

预报名通道已开启,2023第11届国际生物发酵展,8月4-6日上海见!

新机遇、新挑战、新发展 同期展会:酵素产品与益生产品展 制药机械与包装技术展 生化仪器及实验室设备展 合成生物技术与生物制造展 展会时间: 2023年8月4日 9:00-17:00 2023年8月5日 9:00-17:00 2023年8月6日 9:00-15:00 展会地点&#xff1a…

【数据结构】栈和队列选择题和面试编程题

目录 一、选择题 二、栈和队列的面试题 1、括号匹配问题 1.1 题目说明 1.2 题目解析 2、用队列实现栈 2.1 题目说明 2.2 题目解析 3、用栈实现队列 3.1 题目说明 3.2 题目解析 一、选择题 1、若进栈序列为 1,2,3,4 ,进栈过程中可以出栈,则下列不可能的…

软考A计划-电子商务设计师-信息安全知识

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例 👉关于作者 专注于Android/Unity和各种游戏开发技巧,以及各种资源分享&am…

安全防御——IDS(入侵检测系统)

安全防御——IDS(入侵检测系统) IDS介绍为什么需要IDSIDS的工作原理IDS的工作过程第一步:信息收集第二步:数据分析 IDS的主要检测方法1、模式匹配(误用检测)2、统计分析(异常检测)3、…

chatgpt赋能python:Python创建venv的完全指南

Python创建venv的完全指南 在Python开发中,虚拟环境是一个非常有用的工具。它可以让我们在同一台计算机上拥有多个Python环境,而不会互相干扰。在本文中,我们将介绍如何使用Python创建venv(虚拟环境)。 什么是venv&a…

4-5.配置信息和路由信息

一、配置信息 app.run()的参数 参数1:host,如果我们不指定,默认值是127.0.0.1。参数2:port,如果我们不指定,默认值是5000。参数3:debug,调试模式,如果不指定&#xff0…

chatgpt赋能python:Python创建画布语句

Python 创建画布语句 在数据可视化的领域,画布(Canvas)是一个重要的概念。画布可以视为一个空白的像素或向量画布,用于绘制图表、图形、图像和动画等。Python 提供了多种创建画布的方式,其中包括使用第三方库和内置库…

哲学家就餐问题(死锁)

本文主要讲述死锁的一个经典案例—哲学家就餐问题,并对该问题进行修复。 1. 问题描述 看上图,有五位哲学家,每天循环做两件事:思考,吃面。吃面时每人面前都有一个盘子,盘子左边和右边都有一根筷子&#xff…

5.3 树和二叉树的抽象数据类型定义

博主简介:一个爱打游戏的计算机专业学生博主主页: 夏驰和徐策所属专栏:算法设计与分析 1.什么是树的抽象数据类型定义 树的抽象数据类型定义是指对树这种数据结构的一种抽象描述,其中包括了树的基本操作和性质。它定义了树作为一…

基于深度学习的目标姿态检测方法_kaic

目录 摘要 第1章 引言 1.1 研究背景和意义 1.2 国内外研究现状 1.3 主要内容 第2章 单目相机的目标姿态检测技术 2.1单目相机的工作原理 2.2目标姿态检测 2.3已有的目标姿态检测方法及其局限性 2.4本章总结 第3章 构建数据集 3.1 数据集来源 3.2数据集标注 3.3数据集分析 3.4本…

基于Springboot的社区论坛系统(源代码+数据库)055

部分代码地址 https://gitee.com/ynwynwyn/forum-public 基于Springboot的社区论坛系统(源代码数据库) 一、系统介绍 前台: 话题列表,搜索话题,发布话题通过标签筛选话题个人设置:修改个人信息,查看发布话题记录&a…

FPGA设计的指导性原则 (三)

例12. 在SDC文件中附加syn_ramstyle综合约束属性,指定综合存贮单元的类型 SDC文件是Synplicity综合工具通用的综合约束属性文件,其扩展名为”sde”。在SDC 指定 syn_ramstyle的语法格式为: define_attribute (signal_name [bit_range)) syn_ramstyle (atring) 其中,黑体…