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

server/2024/10/21 3:27:28/

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为Numberusername 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.ppmy.cn/server/103511.html

相关文章

斯坦福UE4 C++课学习补充22:AI行为树-寻路入门

文章目录 一、创建敌对小兵二、寻路行为树三、会与角色保持距离的小兵四、更智能的小兵 一、创建敌对小兵 创建SAICharacter(角色)和SAIController两个类(行为树),然后在UE中创建蓝图类。寻路系统:用于为人…

【机器学习】神经网络简介以及如何用Tensorflow构建一个简单的神经网络

引言 神经网络是一种模拟人脑神经元连接和工作方式的计算模型,它是深度学习的基础,并在机器学习领域中扮演着重要角色 文章目录 引言一、神经网络简介1.1 结构组成1.2 工作原理1.3 学习过程1.4 应用领域1.5 感知器1.6 功能特点1.7 总结 二、用Tensorflow…

Python类的高阶用法

类的高阶用法在编程中,尤其是在面向对象编程(OOP)中,扮演着非常重要的角色。这些高阶用法不仅增强了类的功能和灵活性,还使得代码更加模块化和可重用。以下是一些类的高阶用法: 1. 类的继承与多态 继承&a…

linux服务 学习

服务(Service) 在Linux操作系统中,服务(Service)是一个基本概念,它通常指的是运行在后台的、持续提供特定功能或资源给系统内部组件或者网络上的客户端程序。 这些服务是系统正常运行和提供各种功能的关键…

NIOS Eclipse突然报错:No rule to make target `/system.h

NIOS Eclipse突然报错:No rule to make target /system.h 今天打开NIOS Eclipse编译昨天完好的工程,发现报错。我就纳闷了,代码没有修改,编译结果报错 控制台中problems选线中显示: No rule to make target /system…

MobileVit 系列算法

自 Vision Transformer 出现之后,人们发现 Transformer 也可以应用在计算机视觉领域,并且效果非常不错。但是基于 Transformer 的网络模型通常具有数十亿或数百亿个参数,这使得它们的模型文件非常大,不仅占用大量存储空间&#xf…

微信答题小程序产品研发-后端开发

在开发答题小程序的后端服务和数据库设计时,需要考虑API的设计、数据库模型的构建以及数据的安全性和一致性。 这里我采用了云开发,后端语言是Node,数据库是NoSql,然后我简单整理了各个功能模块的后端开发概要和数据库设计。 1. …

开放式耳机的优缺点?这里有开放式耳机推荐品牌

随着开放式耳机功能的增加和创新,导致很多人不知道开放式耳机哪款好,开放式耳机和封闭式耳机的优缺点有哪些?还有就是开放式耳机漏音严重吗?等问题。下面我来跟大家一起了解了解开放式耳机为什么好,有哪些值得入手的。…