数据库-DDL语言-数据定义语言

news2024/11/15 13:51:50

DDL语言-数据定义语言

对数据库对象进行操作的语言, 涉及到的关键字CREATE,ALTER,DROP

对数据库的操作

新建一个数据库
语法
CREATE DATABASE 数据库名 [charset=字符集]
新建一个数据库:mydb
CREATE DATABASE mydb;

注:SQL语句不区分大小写,但是好的书写习惯:关键字大写,非关键字小写

指定字符集
创建数据库mydb1,指定字符集为UTF-8
CREATE DATABASE mydb1 CHARSET=UTF8;

创建数据库mydb2,指定字符集为GBK
CREATE DATABASE mydb2 CHARSET=GBK;
查看已创建的数据库
语法
SHOW DATABASES;
查看创建数据库时的信息
语法
SHOW CREATE DATABASE 数据库名
SHOW CREATE DATABASE mydb
删除数据库
语法
DROP DATABASE 数据库名
DROP DATABASE mydb
切换数据库
语法
USE 数据库名

USE mydb1;		//切换数据库到mydb1
USE mydb2;      //切换数据库到mydb2

表操作

创建表
语法
CREATE TABLE 表名(
	字段名名1 类型[(长度)] [DEFALUT 默认值] [约束],
    字段名名2 类型,
    ...
)[CHARSET=字符集]
准备一个数据库mydb并使用
CREATE DATABASE mydb;			创建数据库mydb
USE mydb;						切换到mydb,那么后面创建表都是创建到这个库中

创建一张表user,保存用户信息(用户名,密码,昵称,年龄)
CREATE TABLE user(
	id INT,					类型是方言,不同数据库不同,mysql中整数为INT,oraclet为Number
    username VARCHAR(32),   字符串类型是VARCHAR,长度为字节量,如果是UTF-8编码32字节可以存
    password VARCHAR(32),   10个汉字。
    nickname VARCHAR(32),
    age INT(3)              对于整数而言,长度表示保存的数字位数。
)

查看表结构
语法
DESC 表名
查看user表的结构
DESC user
查看表创建时的信息
语法
SHOW CREATE TABLE 表名
SHOW CREATE TABLE user
查看当前数据库中创建的所有表
语法
SHOW TABLES
修改表名
语法
RENAME TABLE 原表名 TO 新表名
user表改名为userinfo
RENAME TABLE user TO userinfo
删除表
语法
DROP TABLE 表名
删除表userinfo
DROP TABLE userinfo
修改表结构

准备一张表

CREATE TABLE hero(
	name VARCHAR(32),
	age INT(3)
)

在这里插入图片描述

添加一个字段
在表末尾追加新字段

语法

ALTER TABLE 表名 ADD 字段名 类型[(长度) 默认值 约束]

向表hero的末尾添加一个新字段gender,它的类型是字符串,长度占10个字节
ALTER TABLE hero ADD gender VARCHAR(10)

在这里插入图片描述

在表最开始添加字段

语法

ALTER TABLE 表名 ADD 字段名 类型 FIRST

在hero表最开始添加id字段,类型为int
ALTER TABLE hero ADD id INT FIRST

在这里插入图片描述

在表中插入新的字段

语法

在表中现有的字段后面添加新字段
ALTER TABLE 表名 ADD 字段名 类型 AFTER 表中现有字段名

在name字段后面添加密码pwd字段
ALTER TABLE hero ADD pwd VARCHAR(32) AFTER name

在这里插入图片描述

删除字段
语法
ALTER TABLE 表名 DROP 字段名
将hero中的pwd字段删除
ALTER TABLE hero DROP pwd

在这里插入图片描述

修改表字段
语法
ALTER TABLE 表名 CHANGE 原字段名 新字段名 类型[长度 默认值 约束]
修改hero表中的年龄字段长度为5
ALTER TABLE hero CHANGE age age INT(5)

在这里插入图片描述

修改hero表中的年龄字段为字符串,长度为20字节
ALTER TABLE hero CHANGE age age VARCHAR(20)

在这里插入图片描述

修改hero表中的gender字段,改名为nickname 类型为字符串,长度30字节
ALTER TABLE hero CHANGE gender nickname VARCHAR(30)

在这里插入图片描述

修改表结构的注意事项
  • 修改表结构最好是在表中没有数据的情况下进行
  • 当表中含有数据时
    • 尽量不修改表中某字段的类型,否则可能因为现有数据不满足新修改的类型导致修改失败
    • 尽量不缩短字段长度
    • 若为字段新添加约束,该字段现有的数据不能违反该约束

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

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

相关文章

【考研数学】题目类型:出现两次积分限,但实际上是一次积分。

考研中,有一类题目是出现了两次积分限(尤其是人为对题目进行变换、化简时),但解题方法不是利用二重积分方法,而是一次积分。常用凑微分、分部积分法。 以武忠祥老师严选题的两道题目为例: 这两道题就是“披…

模拟实现字符串相关函数(第二十七天)

!!assert---断言在函数中非常有用,能明确的指出哪里出了错误,然后后续自己方便进行更改 const不能通过直接赋值来改变,但是!!但是可以通过改地址的方式来改值!!这时只需要…

如何进军海外短剧市场?从了解海外短剧CPS开始

随着国内土味短剧在各大短视频平台爆火,从初期的蓝海红利到现在的如日中天,其中不乏有人将眼光瞄准了海外市场,预计将在未来几年打造出短剧出海的百亿市场,早期入局海外市场相当于小白一样,而现在和你们分享如何跻身海…

OpenCV图像滤波(15)梯度计算函数Scharr()的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 函数使用 Scharr 运算符计算图像的第一个 x- 或 y- 空间导数。 调用 Scharr(src, dst, ddepth, dx, dy, scale, delta, borderType) \texttt{Sc…

数据库(六):事务和索引

一、事务 (一)概念 1、事务是一组操作集合,它是一个不可分割的工作单位,事物会把所有操作作为一个整体一起向系统提交或者撤销操作请求,即这些操作要么同时成功,要么同时失效。 2、默认MySQL的事务是自动…

用关系图和示例解释异步/等待

**解释在各种场景中使用等待时的程序执行流**本文原文 前言 这个文档解释了 Async/Await 是如何工作的。这可能是一个令人困惑的话题。我们将从一些简单的基本概念开始,然后慢慢地向更高级的概念发展。希望这些可视化图表能够帮助那些学习者。 下面的讨论主要是从…

从Retrofit支持suspend协程请求说开去

在现代Android开发中,异步请求已经成为不可或缺的一部分。传统的异步请求往往涉及大量的回调逻辑,使代码难以维护和调试。随着Kotlin协程的引入,异步编程得到了极大的简化。而作为最流行的网络请求库之一,Retrofit早在Kotlin协程的…

【JavaEE】深入探索SpringBoot的日志管理功能与实践应用

目录 SpringBoot 日志日志概述日志使用打印日志在程序中得到⽇志对象使用日志对象打印日志 ⽇志框架介绍(了解)⻔⾯模式(外观模式)SLF4J 框架介绍日志格式的说明⽇志级别日志级别的分类日志级别的使用 ⽇志配置配置⽇志级别⽇志持久化配置⽇志⽂件分割配置⽇志格式 更简单的⽇志…

IBMS管理平台,推动建筑行业向智能化发展

智能建筑管理系统是一套集成了多种技术和功能的综合性管理平台,旨在提高建筑设施的运行效率、减少能源消耗、改善室内环境质量,并为建筑管理者提供全面的监控、控制和分析手段。IBMS管理平台的特点和优势如下: IBMS系统融合了建筑自动化、能源…

2024 国内自闭症学校排名榜:突破边界,创造无限可能

在 2024 年,当家长们面对国内自闭症学校的排名榜时,心中或许充满了期待与困惑。然而,这些排名榜虽然能提供一定的参考,但绝不能成为选择学校的唯一依据。家长们更需要深入了解每所学校的真实情况,通过线下考察&#xf…

网络协议栈应用层的意义(内含思维导图和解析图通俗易懂超易理解)

绪论​: “节省时间的方法就是全力以赴的将所要做的事情完美快速的做完,不留返工重新学习的时间,才能省下时间给其他你认为重要的东西。” 本章主要讲到OSI网络协议栈中的应用层的作用和再次在应用层的角度理解协议的具体意义,以及…

#Datawhale AI夏令营第4期#多模态大模型Task3

写在前面的碎碎念》 为时一个礼拜的学习,即将结束了。回顾这一个礼拜,因此这次的任务较难,大部分的时间都花在跑模型上了,跑一次一天就没了,所以基本没有很好的去尝试优化上分,一个礼拜,差不多…

微商城系统 goods.php SQL注入漏洞复现

0x01 产品简介 微商城系统,又称微信商城系统,是基于微信等社交平台构建的一种小型电子商务系统。该系统融合了社交媒体的互动性和网络商城的交易功能,为商家提供了一个集商品展示、在线交易、营销推广、用户管理、数据分析等功能于一体的综合性电商平台。系统充分利用了微信…

【SecureLock】藏起你的秘密文件!

我们都知道,在 Windows 中可以右键文件夹,选择”属性“,勾选”隐藏“来实现隐藏某个文件夹。 我们还知道,在 Windows 中可以选择勾选 ”显示隐藏的项目和文件夹“,来使上述方法变得形同虚设。 本工具就是用于解决以上…

使用Linux内核自带的V4L2设备驱动 采集图像

一、定义 V4L2代表Video for Linux Two,它是Linux内核的一部分,提供了一种统一的方式来访问各种视频输入/输出设备,如摄像头、电视卡等。 二、工作流程(重点) 打开设备-> 检查和设置设备属性&#xf…

Elasticsearch-关键词随机查询(8.x)

目录 一、查询语句 二、Java代码实现 基础介绍: ES自定义评分机制:function_score查询详解-阿里云开发者社区ES自定义评分机制:function_score查询详解https://developer.aliyun.com/article/1054571 开发版本详见:Elasticsearch-经纬度查询(8.x-半径…

面向对象程序设计(C++)之 vector(初阶)

1. vector 的构造 vector 需要显式实例化类模版,在创建 vector 类型的容器时可以直接创建,也可以进行初始化,例如 v2 ,也可以使用迭代器的方式创建,具体关于更多vector的知识: vector //模版类只能显式实例化 vector&l…

Linux ubuntu 24.04 安装运行《帝国时代3》免安装绿色版游戏,解决 “Could not load DATAP.BAR”等问题

Linux ubuntu 24.04 安装运行《帝国时代3》游戏,解决 “Could not load DATAP.BAR" 等问题 《帝国时代 3》是一款比较经典的即时战斗游戏,伴随了我半个高中时代,周末有时间就去泡网吧,可惜玩的都是简单人机,高难…

构建具有音频功能的中英翻译器:一个Python应用程序的旅程

在当今的全球化世界中,语言翻译工具变得越来越重要。作为一名软件开发者,我最近完成了一个有趣的项目:一个结合了翻译、文字转语音和数据管理功能的中英翻译器。在这篇博客中,我将分享这个应用程序的主要特性和开发过程中的一些见…

CSC7261BH PD20瓦快充芯片

CSC7261BH是一款20瓦内置高压MOS的高性能、多工作模式的PWM控制芯片,内置多种保护机制。当系统为空载和轻载时,CSC7261BH 采用Burst和Green控制模式可有效地减少了空载和轻载时的损耗。当系统为中载和重载时,CSC7261BH采用CCM模式可有效提升电…