MySQL表的管理

news2024/11/22 13:59:47

目录

1.mysql中,数据存储过程分为四步

2.数据库命名规则

3.创建数据库

4.管理数据库的方法

5.修改数据库(一般不改,最多改字符集)

6.删除数据库

7.如何创建数据表

8.修改表

9.重命名表

10.删除表(注意⚠️无法撤销)

11.清空表

12.DCL中commit 和 rollback

13.对比 truncate table 和 delete from

14.DDL 和 DML 的说明

15.在删除时选择truncate table还是delete?


1.mysql中,数据存储过程分为四步

        创建数据库、确认字段、创建数据表、插入数据

2.数据库命名规则

       1. 数据库名、表名不得超过30个字符,变量名限制为29个
       2.必须只能包含 A–Z, a–z, 0–9, _共63个字符
       3.数据库名、表名、字段名等对象名中间不要包含空格
       4.同一个MySQL中,数据库不能同名;同一个库中,表不能重名;同一个表中,字段不能重名
       5.必须保证你的字段没有和保留字、数据库系统或常用方法冲突。如果坚持使用,请在SQL语句中使用`(着重号)引起来      

3.创建数据库

1.create database 数据库名

        创建的数据库使用的是默认的字符集

2.create database 数据库 character set ‘字符集’

        显示的指明了要创建的数据库的字符集

3.create database if not exists 数据库名 character set ‘utf8’(推荐使用这种)

        如果要创建的数据库已经存在,则创建不成功,但不会报错。

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

4.管理数据库的方法

1.查看当前连接的数据库:show databases

2.切换数据库:use 数据库名

3.查看当前数据库表:show tables

4.查看当前使用的数据库:select database() from dual

5.查看置顶数据库下的保存表:show tables from 数据库名

SHOW DATABASES;
USE mydata;
SHOW TABLES;
SELECT DATABASE() FROM DUAL;
SHOW TABLES FROM mydata;

5.修改数据库(一般不改,最多改字符集)

1.alter database 数据库名 character set

2.查看数据库字符集:show create database 数据库名

ALTER DATABASE mydata CHARACTER SET 'utf8';
SHOW CREATE DATABASE mydata;

 

6.删除数据库

1.drop database 数据库名

2.推荐:drop database if exists 数据库名

        如果要删除的数据库存在,删除成功;如果不存在,不会报错    

DROP DATABASE IF EXISTS mydata;

7.如何创建数据表

前提:需要用户具备创建表的权限

方式一:

1.create table if not exists 表名

2.使用varchar时需要指明长度,用以定义字符

3.查看表结构:desc 表名

4.如果创建表时没有指明使用的字符集,则默认使用表所在的数据库的字符集

CREATE TABLE IF NOT EXISTS employees(
					empNum INT,
					lastName VARCHAR(50),
					firstName VARCHAR(50),
					mobile VARCHAR(25),
					`code` INT,
					jobTitle VARCHAR(50),
					birth DATE,
					note VARCHAR(255),
					sex VARCHAR(5)
					);

DESC employees;

方式二:基于现有的表,同时导入数据

1.create table 表名 as 查询语句

2.查询语句中字段的别名,可以作为新创建的表的字段的名称

3.此时查询语句结构比较丰富,使用前面各种select

CREATE TABLE IF NOT EXISTS dept02
AS
SELECT *
FROM atguigudb.departments;

DESC emp02;

 

8.修改表

1.添加一个字段:alter table 表名 add 字段名

此时:first/after 等可以指定位置

ALTER TABLE emp02
ADD salary2 DOUBLE(10,2) AFTER email;

 

2.修改一个字段:数据类型、长度:alter table 表名 modify 字段名 数据类型

ALTER TABLE emp02
MODIFY salary2 DOUBLE(20,4);

3.重命名一个字段:alter table 表名 change 字段名 修改名 数据类型

ALTER TABLE emp02
CHANGE salary2 my_salary DOUBLE(20,4);

4.删除一个字段:after table 表名 drop column 字段名

ALTER TABLE emp01 DROP COLUMN department_id;
DESC emp01;

9.重命名表

1.rename table 表名 to 新表名——推荐

RENAME TABLE emp02
TO emp22;

2.alter table 表名 rename to 新表名

10.删除表(注意⚠️无法撤销)

删除表结构+表数据,释放表空间:drop table if exists 表名

DROP DATABASE IF EXISTS mydata;

11.清空表

清空表,清空表中数据,但保留表结构:truncate table 表名;

TRUNCATE TABLE mydata;

12.DCL中commit 和 rollback

1.commit:提交数据;一旦执行commit,数据就被永久的保存在了数据库中,无法回滚

2.rollback:回滚数据;一旦执行rollback,就可以实现数据的回滚,回滚到最近的一次commit之后

13.对比 truncate table 和 delete from

相同点:

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

不同点:

        truncate table:一旦执行此操作,表数据全部清除;数据不可以回滚

        delete from:一旦执行此操作,表数据全部清除(不带where);数据可以实现回滚

14.DDL 和 DML 的说明

1.DDL的操作一旦执行,就不可以回滚;指令SET autocommit= FALSE无效。(因为在执行完DDL之后一定会执行一次commit,而此操作commit操作不受SET autocommit= FALSE影响)

2.DML的操作默认情况,一旦执行,也是不可回滚。但是如果执行DML之前,执行了SET autocommit= FALSE,则执行的DML操作就可以实现回滚

15.在删除时选择truncate table还是delete?

使用delete:因为truncate table比delete速度快,且使用的系统和事务日志资源少,但Truncate无事务且不触发trigger,有可能造成事故,因此在开发中不建议使用此语句。

另外:truncate在功能上与不带where子句的delete语句相同。

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

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

相关文章

Java日志slf4j+logback

一、maven依赖 在pom文件增加slf4jlogback依赖 <!-- 版本配置 --> <properties><slf4j.version>1.7.21</slf4j.version><logback.version>1.1.7</logback.version> </properties><dependencies><!-- slf4j依赖包 -->&…

JVM源码剖析之达到什么条件进行JIT优化

版本信息&#xff1a; jdk版本&#xff1a;jdk8u40 思想至上 技术经过数百年的迭代&#xff0c;如今虚拟机中都存在JIT模块&#xff0c;JVM中Hotspot&#xff0c;Android虚拟机中dalvik、Art等等。并且存在一个共性&#xff0c;全部都是解释器和JIT共存。当然&#xff0c;如今…

六、模型融合

目录 1 构建模型多样性1.1 特征多样性1.2 样本多样性1.3 模型多样性 2. 训练过程融合2.1 Bagging2.2 Boosting 3. 训练结果融合3.1 加权法3.2 Stacking 融合3.3 Blending 融合 4. 实战案例 本章主要分为构建多样性、训练过程融合和训练结果融合三部分。模型融合常常是竞赛取得胜…

神州通用数据库Linux安装

神舟通用1.安装包下载地址 神舟通用 操作系统、数据库 1、官方下载链接 2、windows客户端下载链接 3、官方安装手册 4、安装前准备 3.1、创建安装用户 3.2、以root 用户修改神通数据库安装包的所有者为shentong 用户 3.3、以root 用户创建神通数据库主目录并修改所有者为shent…

欧姆龙cx系列plc串门通讯设置串口转以太网通讯处理器

捷米特JM-ETH-CX 串口转以太网通讯处理器是为满足日益增多的工厂设备信息化需求&#xff08;设备网络监控和生产管理&#xff09;而设计&#xff0c;用于欧姆龙 CPM、CQM、C200、C1000、C2000 等多个系列 PLC 的以太网数据采集&#xff0c; 非常方便构建生产管理系统。 捷米特J…

Linux内核--五大子系统

Linux内核有五大核心子系统&#xff0c;分别是进程调度系统、虚拟文件系统(VFS)、内存管理单元(MMU)、网络单元、进程间通信(IPC)。 在Linux内核中的主要组件中&#xff0c;五个核心子系统是最为重要的组成部分&#xff0c;它与系统调用接口&#xff08;System Call Interface&…

docker-compose安装redis一主二从三哨兵集群

准备 docker安装参考&#xff1a; CentOS 安装 docker详解_centos安装docker_慕菲烟云的博客-CSDN博客 docker-compose安装参考&#xff1a;docker之docker-compose_docker compose no-cache_慕菲烟云的博客-CSDN博客 准备一台Linux服务器&#xff08;IP &#xff1a;192.1…

连连看小游戏(html+css+js)

花费了2个小时的摸鱼时间&#xff0c;我成功地编写了一个精彩的连连看小游戏&#xff0c;让我感到非常开心和满足。这款游戏玩起来相当出色&#xff0c;现在我很高兴地与大家分享。 在这个连连看小游戏的设计过程中&#xff0c;我注重细节和用户体验。通过精心安排的图形和布局…

Linux学习笔记--如何在ubuntu中启用root用户和安装软件的方法(解决安装依赖)

一、ubuntu启用root用户 打开Terminal(终端)&#xff0c;右键点击桌面&#xff0c;选择终端&#xff0c;弹出终端窗口。&#xff08;使用快捷键ctrlaltt&#xff0c;也可以调出Terminal&#xff09;。 指令su&#xff0c;该指令可切换用户或者切换到超级管理员root。 su 在终端…

操作系统_进程与线程(一)

目录 1. 进程与线程 1.1 进程的概念 1.2 进程的特征 1.3 进程的状态与转换 1.4 进程的组织 1.4.1 进程控制块PCB 1.4.2 程序段 1.4.3 数据段 1.5 进程控制 1.5.1 进程的创建 1.5.2 进程的终止 1.5.3 进程的阻塞和唤醒 1.6 进程的通信 1.6.1 共享存储 1.6.2 消息…

C语言写杨辉三角

上来先展示一下运行结果吧&#xff1a; 接下来就是分析过程&#xff0c;先来画图分析一番&#xff1a; 根据画图分析的结果&#xff0c;就可以编写代码了&#xff1a; #include<stdio.h> #define row 20 //定义行数常量&#xff0c;更改数值改变行数 #define col 20 …

Alluxio加速器部署

目录 一、Alluxio概述 二、优势 三、Alluxio架构 Ⅰ).Masters HA集群角色 a).Leading Master b).Standby Master c).Secondary Master d).Job Master Ⅱ).Workers 1.Alluxio Workers Ⅲ).Client 1.前期准备 2.下载 Alluxio 3.配置 Alluxio 4.验证 Alluxio 运行环境 5…

macOS系统下编译linux-adk源码

1.下载 linux-adk源码 https://github.com/gibsson/linux-adk.git 2.安装libusb库 brew install libusb 3.修改Makefile CFLAGS += -Isrc -I/usr/local/Cellar/libusb/1.0.26/include/libusb-1.0 4.编译 make ./linux-adk -h 查看用法 查看系统已连接USB设备 system_p…

Spring Data Redis操作Redis

在Spring Boot项目中&#xff0c;可以使用Spring Data Redis来简化Redis操作&#xff0c;maven的依赖坐标&#xff1a; <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></…

STM32使用DMA实现GPIO的高速翻转

STM32使用DMA实现GPIO的高速翻转 一、前言二、原理三、配置IO口四、配置DMA五、程序内容5.1 gpio配置5.2 keil中添加.C和.h文件&#xff08;需要DMA发送控制GPIO的数组波形文件&#xff09;如不想这么麻烦的可以略过&#xff0c;在main函数中定义一个数组即可&#xff0c;因为我…

0基础学C#笔记07:选择排序法

文章目录 前言一、选择排序原理二、使用步骤三、打印结果总结 前言 我们常用的排序方法有十种&#xff0c;分别是&#xff1a; 冒泡排序&#xff1b;选择排序&#xff1b;插入排序&#xff1b;希尔排序&#xff1b;归并排序&#xff1b;快速排序&#xff1b;堆排序&#xff1…

全志F1C200S嵌入式驱动开发(spi-nor驱动)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 和v3s一样,f1c200s本身也支持spi-nor flash。当然,不管是norflash,还是nandflash,都是为了能够让程序脱离sd卡,直接依靠板子上面的flash,就可以完成正常地加载和运行工作。tf…

《Docker容器编排模式:了解Sidecar、Ambassador等模式,构建高效稳定的容器化应用》

&#x1f337;&#x1f341; 博主 libin9iOak带您 Go to New World.✨&#x1f341; &#x1f984; 个人主页——libin9iOak的博客&#x1f390; &#x1f433; 《面试题大全》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33…

基于 Graviton2处理器构建容器化基因分析工作负载

概述 相对于基于传统 x86架构的处理器来说&#xff0c;Amazon 设计的基于 ARM 架构的 Graviton 处理器为 EC2中运行的云工作负载提供了更佳的性价比。基于 Graviton2 的实例支持广泛的通用型、突发型、计算优化型、内存优化型、存储优化型和加速计算型工作负载&#xff0c;包括…

重生之我要学c++第二课

在上期内容&#xff0c;我们讲述了c相比于C语言的更简易之处&#xff0c;本期就让我们继续学习相关的知识&#xff0c;了解c宇宙 引用(起别名) 引用不是新定义一个变量&#xff0c;而是给已存在变量取了一个别名&#xff0c;编译器不会为引用变量开辟内存空 间&#xff0c;它…