MySQL(7)

创建和管理表

1. 创建和管理数据库

1.1 如何创建数据库

#方式1:CREATE DATABASE mytest1;  # 创建的此数据库使用的是默认的字符集#查看创建数据库的结构SHOW CREATE DATABASE mytest1;#方式2:显式了指名了要创建的数据库的字符集CREATE DATABASE mytest2 CHARACTER SET 'gbk';#方式3(推荐):如果要创建的数据库已经存在,则创建不成功,但不会报错。CREATE DATABASE IF NOT EXISTS mytest2 CHARACTER SET 'utf8';#如果要创建的数据库不存在,则创建成功CREATE DATABASE IF NOT EXISTS mytest3 CHARACTER SET 'utf8';

1.2 管理数据库​​​​​​​

#查看当前连接中的数据库都有哪些SHOW DATABASES;#切换数据库USE atguigudb;#查看当前数据库中保存的数据表SHOW TABLES;#查看当前使用的数据库SELECT DATABASE() FROM DUAL;#查看指定数据库下保存的数据表SHOW TABLES FROM mysql;

1.3 修改数据库​​​​​​​

#更改数据库字符集SHOW CREATE DATABASE mytest2;ALTER DATABASE mytest2 CHARACTER SET 'utf8';

1.4 删除数据库​​​​​​​

#方式1:如果要删除的数据库存在,则删除成功。如果不存在,则报错DROP DATABASE mytest1;#方式2:推荐。如果要删除的数据库存在,则删除成功。如果不存在,则默默结束,不会报错。DROP DATABASE IF EXISTS mytest1;

2. 如何创建数据表​​​​​​​

USE atguigudb;SHOW CREATE DATABASE atguigudb; #默认使用的是utf8#方式1:"白手起家"的方式CREATE TABLE IF NOT EXISTS myemp1(   #需要用户具备创建表的权限。id INT,emp_name VARCHAR(15), #使用VARCHAR来定义字符串,必须在使用VARCHAR时指明其长度。hire_date DATE);#方式2:基于现有的表,同时导入数据CREATE TABLE myemp2ASSELECT employee_id,last_name,salaryFROM employees;#说明1:查询语句中字段的别名,可以作为新创建的表的字段的名称。#说明2:此时的查询语句可以结构比较丰富,使用前面章节讲过的各种SELECT#在原来的数据库中查询的的任何资料都可以自己生成一个新的表CREATE TABLE myemp3ASSELECT e.employee_id emp_id,e.last_name lname,d.department_nameFROM employees e JOIN departments dON e.department_id = d.department_id;#练习1:创建一个表employees_copy,实现对employees表的复制,包括表数据CREATE TABLE employees_copyAS SELECT * FROM employees;#练习2:创建一个表employees_blank,实现对employees表的复制,不包括表数据CREATE TABLE tb1 ASSELECT * FROM employees WHERE 1 = 2;

3. 修改表  --> ALTER TABLE 

3.1 添加一个字段​​​​​​​

ALTER TABLE myemp1ADD salary DOUBLE(10,2); #默认添加到表中的最后一个字段的位置

3.2 修改一个字段:数据类型、长度、默认值(略)​​​​​​​

ALTER TABLE myemp1MODIFY emp_name VARCHAR(25);

3.3 重命名一个字段​​​​​​​

ALTER TABLE myemp1CHANGE salary monthly_salary DOUBLE(10,2);

3.4 删除一个字段​​​​​​​

ALTER TABLE myemp1DROP COLUMN my_email;

4. 重命名表​​​​​​​

ALTER TABLE myemp2RENAME TO myemp12;

5. 删除表​​​​​​​

#不光将表结构删除掉,同时表中的数据也删除掉,释放表空间DROP TABLE IF EXISTS myemp2;

6. 清空表​​​​​​​

#清空表,表示清空表中的所有数据,但是表结构保留。TRUNCATE TABLE employees_copy;

7. DCL 中 COMMIT 和 ROLLBACK

 COMMIT:提交数据。一旦执行COMMIT,则数据就被永久的保存在了数据库中,意味着数据不可以回滚。

 ROLLBACK:回滚数据。一旦执行ROLLBACK,则可以实现数据的回滚。回滚到最近的一次COMMIT之后。

8. 对比 TRUNCATE TABLE 和 DELETE FROM 

相同点:都可以实现对表中所有数据的删除,同时保留表结构。

不同点:

TRUNCATE TABLE:一旦执行此操作,表数据全部清除。同时,数据是不可以回滚的。

DELETE FROM:一旦执行此操作,表数据可以全部清除(不带WHERE)。同时,数据是可以实现回滚的。

创建和管理表的课后练习

1. 创建数据库test01_office,指明字符集为utf8。并在此数据库下执行下述操作

CREATE DATABASE IF NOT EXISTS test01_office CHARACTER SET 'utf8';

2. 创建表dept01​​​​​​​

CREATE TABLE IF NOT EXISTS dept01(id INT(7),`name` VARCHAR(25));

3.将表departments中的数据插入新表dept02中​​​​​​​

CREATE TABLE dept02ASSELECT *FROM atguigudb.departments;

4. 创建表emp01​​​​​​​

CREATE TABLE emp01(id INT(7),first_name VARCHAR(25),last_name VARCHAR(25),dept_id INT(7));

5.将列last_name的长度增加到50​​​​​​​

ALTER TABLE emp01MODIFY last_name VARCHAR(50);

6.根据表employees创建emp02​​​​​​​

CREATE TABLE emp02ASSELECT *FROM atguigudb.`employees`;

7.删除表emp01

DROP TABLE emp01;

8.将表emp02重命名为emp01​​​​​​​

#alter table emp02 rename to emp01;RENAME TABLE emp02 TO emp01;

9.在表dept02和emp01中添加新列test_column,并检查所作的操作​​​​​​​

ALTER TABLE emp01 ADD test_column VARCHAR(10);ALTER TABLE dept02 ADD test_column VARCHAR(10);

10.直接删除表emp01中的列 department_id​​​​​​​

ALTER TABLE emp01DROP COLUMN department_id;            

                                                                          

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

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

相关文章

nginx配置后访问出现白屏怎么办?

问题 服务器上有两个web服务ab分别指向3000、3001两个端口,使用nginx进行反向代理,配置文件如下: server {listen 80;server_name www.example.com;location /a/ {proxy_pass http://localhost:3000;proxy_set_header Host $host;proxy_set…

自动化数据驱动?最全接口自动化测试yaml数据驱动实战

前言 我们在做自动化测试的时候,通常会把配置信息和测试数据存储到特定的文件中,以实现数据和脚本的分离,从而提高代码的易读性和可维护性,便于后期优化。 而配置文件的形式更是多种多样,比如:ini、yaml、…

pytorch 笔记:torch.dist

torch.dist 函数是 PyTorch 库中用来计算两个张量之间的距离的函数。该函数主要用来计算指定阶数的距离,比如欧几里得距离(默认情况下) torch.dist(input, other, p2)input第一个输入张量other第二个输入张量,需要与第一个张量的…

数据结构--力扣144.二叉树的前序遍历(C

链接:. - 力扣(LeetCode)【点击即可跳转】 使用c语言来实现。 代码展示为: /*** Note: The returned array must be malloced, assume caller calls free().*/int TreeSize( struct TreeNode* root) {return rootNULL?0:TreeS…

pdf structuredClone is not defined 解决

问题 部分手机系统的浏览器 pdf v2版本会出现 structuredclone is not defined 的报错,这是因为浏览器过低 解决 查看structuredClone的浏览器兼容性 structuredClone api 文档 polyfill 网站下方有个 polyfill的网址入口 可以解决低版本的兼容问题 相应网址…

笨蛋学算法之LeetCodeHot100_3_最长连续序列(Java)

package com.lsy.leetcodehot100;import java.util.Arrays; import java.util.HashSet; import java.util.Set;public class _Hot3_最长连续序列 {public static int longestConsecutive(int[] nums) {//创建set去重//对重复的数字进行去重Set<Integer> set new HashSet…

融合心血管系统(CVS)多视角信号的新架构新策略

随着深度学习的发展和传感器的广泛采用&#xff0c;自动多视角融合&#xff08;MVF&#xff09;在心血管系统&#xff08;CVS&#xff09;信号处理方面取得了进展。然而&#xff0c;普遍的MVF模型架构通常将同一时间步骤但不同视角的CVS信号混合成统一的表示形式&#xff0c;忽…

redis的四种模式部署应用

这里写目录标题 redis应用redis单机部署redis主从redis哨兵Cluster模式 redis应用 redis单机部署 关闭防火墙[rootzyq ~]#: yum -y install wget make gcc gcc-c ...... [rootzyq ~]#: wget https://download.redis.io/redis-stable.tar.gz --2024-01-01 19:41:14-- https:/…

TypeScript 进阶,深入理解并运用索引访问类型提升代码质量

欢迎回来继续我们的“TypeScript进阶技巧”系列。上次我们深入探讨了如何使用Extract和Exclude实用类型来优化TypeScript的类型处理&#xff08; 《如何利用 TypeScript 的 Extract 提升类型定义与代码清晰度》和 《如何利用 TypeScript 的 Exclude 提升状态管理与代码健壮性》…

论文阅读笔记:Cross-Image Relational Knowledge Distillation for Semantic Segmentation

论文阅读笔记&#xff1a;Cross-Image Relational Knowledge Distillation for Semantic Segmentation 1 背景2 创新点3 方法4 模块4.1 预备知识4.2 跨图像关系知识蒸馏4.3 Memory-based像素到像素蒸馏4.4 Memory-based像素到区域蒸馏4.5 整体框架 5 效果 论文&#xff1a;http…

Redis和Docker

Redis 和 Docker 是两种不同的技术&#xff0c;它们各自解决不同的问题&#xff0c;但有时会一起使用以提供更高效和灵活的解决方案。 Redis 是一个开源的内存数据结构存储系统&#xff0c;可以用作数据库、缓存和消息代理。它设计为解决MySQL等关系型数据库在处理大量读写访问…

MySQL数据操作与查询-T5 MySQL函数

一、数学函数和控制流函数 1、数学函数 &#xff08;1&#xff09;abs(x) 计算x的绝对值。 1 select abs(‐5.5),abs(10) &#xff08;2&#xff09;pow(x,y) 计算x的y次方的值。 1 select pow(2,8),pow(8,2) &#xff08;3&#xff09;round(x) 和 round(x,y) 对数字x进…

php遇到的问题

1、 underfined at line 3 in xxx.php , 错误提示&#xff0c;注释这行代码 // error_reporting(DEBUG ? E_ALL : 0); 目录&#xff1a;config/config.php

Ubuntu20.04部署Qwen2.openvino流程

下载代码 里面包含依赖 git clone https://github.com/OpenVINO-dev-contest/Qwen2.openvino.gitpython环境配置 创建虚拟环境 conda create -name qwen2openvino python3.10 conda activate qwen2openvino安装依赖 pip install wheel setuptools pip install -r requirem…

CCAA质量管理【学习笔记】​​ 备考知识点笔记(二)

第三节 GB/T19001-2016 标准正文 本节为ISO9001:2015 标准条款的正文内容&#xff0c;各条款中的术语参照上节内容理解时&#xff0c;会很轻松。本节不再一一对各条款讲解。 引 言 0.1 总 则 采用质量管理体系是组织的一项战略决策&#xff0c;能够帮助其提高整体绩效…

这个网站有点意思,可做SPRINGBOOT的启动图

在 SpringBoot 项目的 resources 目录下新建一个 banner.txt 文本文件&#xff0c;然后将启动 Banner 粘贴到此文本文件中&#xff0c;启动项目&#xff0c;即可在控制台展示对应的内容信息。 下面这个工具很好用&#xff0c;收藏精哦

PFA 反应罐内衬特氟龙 润滑绝缘行业加工 匠心工艺

PFA反应罐别名也叫反应瓶&#xff0c;储样罐&#xff0c;清洗罐等。可作为样品前处理实验中消解样品和中低压溶样的反应容器&#xff0c;广泛应用于半导体分析、新材料、新能源、同位素分析等。 PFA反应罐规格参考&#xff1a;250ml、300ml、350ml、500ml、1L等。 产品特点&…

官网首屏:太漂亮了,真是着了它的魔,上了它的道。

大气的企业官网致力于提供用户友好的界面和优质的用户体验。网页经过精心设计和开发&#xff0c;旨在展示客户的品牌形象和产品信息&#xff0c;并为用户提供便捷的服务和沟通渠道。 官网设计追求简洁、美观、易用的原则&#xff0c;以吸引用户的注意力并提供清晰的导航和信息…

手机丢失不惊慌,华为手机已升级至楼层级设备查找!

出门总是丢三落四&#xff0c;手机丢了怎么办&#xff1f;不要怕&#xff0c;只要你的华为手机升级至云空间新版本&#xff0c;就可以进行楼层级设备查找&#xff0c;现在可以查看到具体的楼层了&#xff01; 之前有手机丢失过的朋友&#xff0c;肯定有相似的经历&#xff0c…

【会议征稿,ACM出版】2024年云计算与大数据国际学术会议(ICCBD 2024,7月26-28)

2024年云计算与大数据国际学术会议(ICCBD 2024)将于2024年7月26-28日在中国大理召开。ICCBD 2024将围绕“云计算与大数据”的最新研究领域, 旨在为从事研究的专家、学者、工程师和技术人员提供一个国际平台&#xff0c;分享科研成果和尖端技术&#xff0c;了解学术发展趋势&…