【Mysql数据库基础07】DDL 数据定义语言

news2024/11/13 14:57:39

Data Definition Language

  • 1 库的操作
    • 1.1 create 创建
    • 1.2 alter 修改
    • 1.3 drop 删除
  • 2 表的操作
    • 2.1 表的创建
    • 2.2 表的修改
      • 2.2.1 修改表名
      • 2.2.2 修改列名
      • 2.2.3 修改列的类型和约束
      • 2.2.4 添加列
      • 2.2.5 删除列
    • 2.3 表的删除
    • 2.4 表的复制
  • 3 练习

1 库的操作

1.1 create 创建

create database books;

为了增加容错性,我们应该写成:

create database if not exists books;
# 如果不存在books这个库,即创建

1.2 alter 修改

如果想对库进行修改,首先要停止服务,直接修改文件夹名
一般来说,不建议这个操作,容易丢失数据

更改库的字符集:

alter database books character set gbk;

1.3 drop 删除

库的删除,不能重复执行,同1.1一样,此时加上if exists

drop database if exists books;

2 表的操作

2.1 表的创建

books数据库中创建一个book

create table book(
	id int, #编号
	bName varchar(20), #书名
	price double, #价格
	authorId int, #作者编号
	publishDate datetime #出版日期
);

books数据库中创建一个author

create table author(
	id int,
	au_name varchar(20),
	au_city varchar(10)
);

2.2 表的修改

2.2.1 修改表名

author表修改为book_authors

alter table author
rename to book_authors;

2.2.2 修改列名

语法:

alter table 表名
change column 列名 新列名 列的类型

publishdate改成pubDate

alter table book
change column publishdate pubDate datetime;

2.2.3 修改列的类型和约束

pubDate的类型改成timestamp

alter table book
modify column pubDate timestamp;

2.2.4 添加列

author表中添加新列annual年薪

alter table author
add column annual double;

2.2.5 删除列

把刚刚添加的删了

alter table author
drop column annual;

2.3 表的删除

drop table 表名;

例如:删除book_author

drop table book_author;

在这里插入图片描述

2.4 表的复制

  1. 只会复制表的结构,但是不包含值
create table copy
like author;
  1. 复制表的结构+值
create table copy2
select * 
from author;
  1. 复制部分数据
create table copy3
select id,au_name
from author
where au_city = '中国';

3 练习

在这里插入图片描述

#1.
create table dept1(
	id int(7),
	name varchar(25)
);

#2.
create table dept2
select department_id,department_name
from myemplyees.departments;

#3.
create table emp5(
	id int(7),
	First_name varchar(25),
	Last_name varchar(25),
	Dept_id int(7)
);

#4.
alter table emp5
modify column Last_name varchar(50);

#5.
create table employees2
like myemplyees.employees;

#6.
drop table if exists emp5;

#7.
alter table employees2
rename to emp5;

#8.
alter table dept
add column test_column int;

alter table emp5
add column test_column int;

#9.
alter table emp5
drop column dept_id;

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

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

相关文章

jvm(虚拟机)运行时数据区域介绍

Java虚拟机(JVM)运行时数据区域是Java程序在运行过程中使用的内存区域,它主要包括以下几个部分: 程序计数器(Program Counter Register): 程序计数器是一块较小的内存区域,是线程私有…

法律合规| AI产品法律风险应对措施全解析

在此前推文中我们全面分析了生成式人工智能算法模型可能遇到的法律风险,那么这些风险应该如何应对呢? 1、隐私泄漏风险:企业需要遵守数据安全法和个人信息保护法的规定,确保数据来源合法,使用时获得用户授权&…

citus的快速开始

准备 dockercitus最新版本(docker pull citusdata/citus) docker网络 docker network create --subnet172.72.9.0/24 citus-test docker network ls启动citus服务 启动协调节点 docker run -dit --name citus-cod -p 5433:5432 -e POSTGRES_PASSWOR…

【vue3学习之路(一)】

文章目录 前言一、vue3项目创建1.1环境准备1.1.1 基于 vue-cli 创建(脚手架创建)1.1.2 基于 vite 创建(推荐) 二、熟悉流程总结 前言 参考视频:https://www.bilibili.com/video/BV1Za4y1r7KE?p10&spm_id_frompag…

使用uniapp 的 plus.sqlite 操作本地数据库报错:::table xxx has no column named xxxx

背景: 1、使用uniapp 的 plus.sqlite 进行APP本地数据库操作 2、SQLite 模块用于操作本地数据库文件,可实现数据库文件的创建,执行SQL语句等功能。 遇到:在之前创建的表上进行新增字段的操作时候,出现问题&#xff1a…

MyEclipse打开文件跳转到notepad打开问题

问题描述 windows系统打开README.md文件,每次都需要右键选择notepad打开,感觉很麻烦,然后就把README.md文件打开方式默认选择了notepad,这样每次双击就能打开,感觉很方便。 然后某天使用MyEclipse时,双击RE…

java第一次作业(二)

先写思路,再写代码,思路清晰,才能写对代码 7-6 求12...n的和 思路: 运用expression的字符串输出 重点: expression输出 代码: import java.util.Scanner; public class Main {public static void main…

数据运营常用的8大模型

✅作者简介:《数据运营:数据分析模型撬动新零售实战》作者、《数据实践之美》作者、数据科技公司创始人、多次参加国家级大数据行业标准研讨及制定、高端企培合作讲师。 🌸公众号:风姑娘的数字视角,免费分享数据应用相…

为什么静态成员函数不能是虚函数

在面向对象编程中,静态成员函数和虚函数都是常见的概念,但它们之间存在着本质上的差异。由于其特性上的差异,静态成员函数不能声明为虚函数。下面我们来探讨一下为什么静态成员函数不能是虚函数。 我在网上查到最多的说法是静态函数没有this指…

数字化转型能给企业创造哪些价值?

企业数字化转型能创造哪些价值? 深耕TOB行业 9 年,下面来分享下自己的一些经验和看法。 (看完要是觉得有用,记得点个赞哈~) 1、从宏观上理解,我们可以分成4个大的方面: (1&#x…

PTA L2-031 深入虎穴 dfs与bfs版

著名的王牌间谍 007 需要执行一次任务,获取敌方的机密情报。已知情报藏在一个地下迷宫里,迷宫只有一个入口,里面有很多条通路,每条路通向一扇门。每一扇门背后或者是一个房间,或者又有很多条路,同样是每条路…

机器学习-05-回归算法

总结 本系列是机器学习课程的系列课程,主要介绍机器学习中回归算法,包括线性回归,岭回归,逻辑回归等部分。 参考 fit_transform,fit,transform区别和作用详解!!!!!&am…

结构体讲解

目录 一.结构体类型的声明 (1)结构体的声明 (2)结构体的创建和初始化 (3)匿名结构体 (4)结构体的自引用 二.结构体内存对齐 (1)对齐规则 (2)为什么存在内存对齐? (3)结构体传参 三.结构体实现位段 (1)什么是位段 (2)位段的内存分配 (3)位段的跨平…

GDAL中的地理坐标系、投影坐标系及其相互转换

目录 地理坐标系 国内常用地理坐标系 投影坐标系 国内常用投影坐标系(不推荐使用) 坐标转换 地理坐标转为投影坐标 投影坐标转为地理坐标 地理坐标系 原理参考这篇文章:地理坐标系与投影坐标系区别与联系 https://yunxingluoyun.blog.…

极智项目 | 基于YOLOv5+DeepSort实现的车流量统计算法

欢迎关注我的公众号「极智视界」,获取我的更多技术分享 大家好,我是极智视界,本文分享一下 基于YOLOv5DeepSort实现的车流量统计算法。 车流量统计的实现一般原理是跟踪画面上检测出来的车辆,并给每个框标上了序号,当…

轨迹预测后处理之非极大值抑制(NMS)

非极大值抑制是图像处理里面的一种算法(比如边缘检测会使用到) 轨迹预测这里借鉴了其思想,比如说对于某个场景中的某辆车,我们使用模型预测 64 条轨迹或者更多,以很好地捕获多模态性,同时每条轨迹对应一个…

JavaScript 基础、内置对象、BOM 和 DOM 常用英文单词总结

一提到编程、软件、代码。对于英语不是很熟悉的同学望而却步。其实没有想像中的难么难,反复练习加上自己的思考、总结,会形成肌肉记忆。整理一下,初学者每天30遍。 1、JavaScript 基础语法 break:中断循环或 switch 语句的执行。…

蔚来JAVA面试(收集)

先叠加,这个是自己找的答案不一定对,只是给我参考看看而已。 一、项目 这个没有,根据实际项目情况来。蔚来比较喜欢拷打项目,所以要对项目非常熟悉(慌) 二、JAVA基础 2.1 Java中的IO模型有用到过吗&#…

YOLOv9改进策略:卷积魔改 | SCConv:空间和通道重建卷积,即插即用,助力检测 | CVPR2023

💡💡💡本文改进内容: CVPR2023 SCConv 由两个单元组成:空间重建单元(SRU)和通道重建单元(CRU)。 SRU利用分离重建方法来抑制空间冗余,而CRU使用分割-变换-融…

每秒批量插入10000条数据到MySQL中,资源消耗(带宽、IOPS)有多少?

文章目录 🔊博主介绍🥤本文内容起因代码资源情况改造 📢文章总结📥博主目标 🔊博主介绍 🌟我是廖志伟,一名Java开发工程师、Java领域优质创作者、CSDN博客专家、51CTO专家博主、阿里云专家博主、…