【快捷入门笔记】mysql基本操作大全-SQL表

一、 创建表

约束:
1.NOT NULL:这意味着这些字段必须有值。
2.DEFAULT ‘其他’:如果没有指定breed字段,它将默认为’其他’。
3.CHECK (age >= 0):这确保我们不会意外输入负年龄

double、float、decimal的区别:
4.DECIMAL(10,2)5位。小数点后两位
4.1float:浮点型(7个有效位,最后四舍五入)
4.2double:双精度实型(15个有效位,最后四舍五入)
4.3decimal:数字型,常用于银行帐目计算。(28个有效位,最后四舍五入)

例子:
CREATE TABLE IF NOT EXISTS 猫 (
id INT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
breed VARCHAR(50) DEFAULT '其他',
age INT CHECK (age >= 0),,
price DECIMAL(10, 2) NOT NULL
);

1.时间
1.1 data :年月日yyyy-MM-dd
1.2 datatime :年月日时分秒 yyyy-MM-dd HH:mm:ss
1.3TIMESTAMP:时间戳类型 包含年月日时分秒: yyyy-MM-dd HH:mm:ss 如果不给这个字段赋值或者赋值NULL 使用当前系统时间

例子:
create table student(
id int,
name VARCHAR 32,
age int,
score double(4,1),
birthday date,
insert_time TIMESTAMP
);

根据现有的表方创建一个新表方方,CREATE TABLE AS 根据SELECT语句的结果创建新表

CREATE TABLE 方方 AS
SELECT * FROM 方 
WHERE age < 1;

二、 显示表

列出表

SHOW TABLES;

从数据库fang_fang列出表

SHOW TABLES FROM fang_fang;

使用信息模式从数据库fang_fang列出表的详细信息

SELECT TABLE_NAME
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'fang_fang';

三、 重命名表

RENAME TABLE 旧的表名 TO 新的表名

RENAME TABLE old_fang TO new_fang;

ALTER TABLE旧的表名RENAME TO 新的表名

ALTER TABLE  old_fang 
RENAME TO new_fang;

一次性重命名多个表

RENAME TABLE
表1 TO 表2,
表3 TO 表4,
表5 TO 表6;

四、 截断表

TRUNCATE TABLE快速删除表中的所有行。这就像在表上按下了“重置”按钮,保持了表的结构,但删除了其中的所有数据。

TRUNCATE TABLE table_name;

TRUNCATE:(无法回滚)
1、不需要记录每行删除的情况。
2、重置自动递增列。
3、快速从表中删除所有数据。
4、保持表的结构不变。立即重新使用表。

DELETE:
1、删除特定的行(使用WHERE子句)。
2、能够回滚操作。
3、知道删除了多少行。

DROP
1、删除整个表及其结构。
2、完全不再需要该表。从头开始重新创建表。

五、 复制表

创建一个具有原始表相同结构的新表,但不复制数据

CREATE TABLE new_table LIKE original_table;

它复制表结构、索引和所有数据。

CREATE TABLE new_table LIKE original_table;
INSERT INTO new_table SELECT * FROM original_table;

六、 临时表

TEMPORARY TABLE
我们正在创建一个名为party_guests的临时表。
它有三个列:
guest_id(自动递增: AUTO_INCREMENT)、guest_name、rsvp_status。
guest_id被设置为主键,以确保每个宾客都有一个唯一的标识符。

CREATE TEMPORARY TABLE party_guests (
guest_id INT AUTO_INCREMENT PRIMARY KEY,
guest_name VARCHAR(50),
rsvp_status VARCHAR(20)
);

插入临时表,本地临时表(#)只对当前会话可见,而全局临时表(##)对所有会话都可见

INSERT INTO #party_guests (guest_name, rsvp_status)
VALUES
('Alice', '已确认'),
('Bob', '可能'),
('Charlie', '未回应');

六、 修改表

添加列ALTER TABLE XX ADDXX VARCHAR(100);

ALTER TABLE students
ADD email VARCHAR(100);

删除列ALTER TABLE XX DROP COLUMN XX;

ALTER TABLE students
DROP COLUMN age;

1、ADD COLUMN 向表中添加一个新列
2、DROP COLUMN 从表中删除一个列
3、ADD INDEX 在指定列上创建索引
4、DROP INDEX 从表中删除索引
5、ADD PRIMARY KEY 向表中添加主键约束
6、DROP PRIMARY KEY 从表中删除主键约束
7、ADD CONSTRAINT 向表中添加新约束
8、DROP CONSTRAINT 从表中删除约束
9、RENAME COLUMN 更改列名
10、MODIFY DATATYPE 更改列的数据类型

七、 删除表

1、删除确定存在的表

DROP TABLE table_name;	

2、安全尝试删除可能存在或不存在表

DROP TABLE IF EXISTS table_name;	

3、安全尝试删除可能存在或不存在的临时表

DROP TEMPORARY TABLE IF EXISTS temp_table_name;

4、删除所有行 移除所有数据但保留表结构时

DELETE FROM table_name;	

5、删除特定行

	DELETE FROM table_name WHERE condition;	

6、带有多个条件的删除

DELETE FROM table_name WHERE condition1 AND/OR condition2;	

7、清空表 快速从表中移除所有数据时

TRUNCATE TABLE table_name;	

八、 约束表

1、NOT NULL 确保列不能有NULL值
2、UNIQUE 确保列中的所有值都是不同的
3、PRIMARY KEY NOT NULL和UNIQUE的组合
4、FOREIGN KEY 确保表之间有引用完整性
5、CHECK 确保列中的所有值满足特定条件
6、DEFAULT 为列设置默认值
7、INDEX 用于快速创建和检索数据库数据

CREATE TABLE owners (
owner_id INT NOT NULL PRIMARY KEY,
name VARCHAR(100) NOT NULL
);ALTER TABLE pets
ADD COLUMN owner_id INT,
ADD CONSTRAINT fk_owner
FOREIGN KEY (owner_id) REFERENCES owners(owner_id);不能添加一个拥有不存在于所有者表中的owner_id的宠物

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

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

相关文章

Java I/O(输入/输出)——针对实习面试

目录 Java I/O&#xff08;输入/输出&#xff09;什么是Java I/O流&#xff1f;字节流和字符流有什么区别&#xff1f;什么是缓冲流&#xff1f;为什么要使用缓冲流&#xff1f;Java I/O中的设计模式有哪些&#xff1f;什么是BIO&#xff1f;什么是NIO&#xff1f;什么是AIO&am…

Exploring Defeasible Reasoning in Large Language Models: A Chain-of-Thought A

文章目录 题目摘要简介准备工作数据集生成方法实验结论 题目 探索大型语言模型中的可废止推理&#xff1a;思路链 论文地址&#xff1a;http://collegepublications.co.uk/downloads/LNGAI00004.pdf#page136 摘要 许多大型语言模型 (LLM) 经过大量高质量数据语料库的训练&…

数据结构--数组

一.线性和非线性 线性&#xff1a;除首尾外只有一个唯一的前驱和后继。eg&#xff1a;数组&#xff0c;链表等。 非线性&#xff1a;不是线性的就是非线性。 二.数组是什么&#xff1f; 数组是一个固定长度的存储相同数据类型的数据结构&#xff0c;数组中的元素被存储在一…

MySQL技巧之跨服务器数据查询:基础篇-更新语句如何写

MySQL技巧之跨服务器数据查询&#xff1a;基础篇-更新语句如何写 上一篇已经描述&#xff1a;借用微软的SQL Server ODBC 即可实现MySQL跨服务器间的数据查询。 而且还介绍了如何获得一个在MS SQL Server 可以连接指定实例的MySQL数据库的连接名: MY_ODBC_MYSQL 以及用同样的…

Unity教程(十八)战斗系统 攻击逻辑

Unity开发2D类银河恶魔城游戏学习笔记 Unity教程&#xff08;零&#xff09;Unity和VS的使用相关内容 Unity教程&#xff08;一&#xff09;开始学习状态机 Unity教程&#xff08;二&#xff09;角色移动的实现 Unity教程&#xff08;三&#xff09;角色跳跃的实现 Unity教程&…

前端学习八股资料CSS(二)

更多详情&#xff1a;爱米的前端小笔记&#xff0c;更多前端内容&#xff0c;等你来看&#xff01;这些都是利用下班时间整理的&#xff0c;整理不易&#xff0c;大家多多&#x1f44d;&#x1f49b;➕&#x1f914;哦&#xff01;你们的支持才是我不断更新的动力&#xff01;找…

云计算研究实训室建设方案

一、引言 随着云计算技术的迅速发展和广泛应用&#xff0c;职业院校面临着培养云计算领域专业人才的迫切需求。本方案旨在构建一个先进的云计算研究实训室&#xff0c;为学生提供一个集理论学习、实践操作、技术研发与创新于一体的综合性学习平台&#xff0c;以促进云计算技术…

通过Python 调整Excel行高、列宽

在Excel中&#xff0c;默认的行高和列宽可能不足以完全显示某些单元格中的内容&#xff0c;特别是当内容较长时。通过调整行高和列宽&#xff0c;可以确保所有数据都能完整显示&#xff0c;避免内容被截断。合理的行高和列宽可以使表格看起来更加整洁和专业&#xff0c;尤其是在…

【代码审计】常见漏洞专项审计-业务逻辑漏洞审计

❤️博客主页&#xff1a; iknow181 &#x1f525;系列专栏&#xff1a; 网络安全、 Python、JavaSE、JavaWeb、CCNP &#x1f389;欢迎大家点赞&#x1f44d;收藏⭐评论✍ 0x01 漏洞介绍 1、 原理 业务逻辑漏洞是一类特殊的安全漏洞&#xff0c;业务逻辑漏洞属于设计漏洞而非实…

Wordpress常用配置,包括看板娘跨域等

一个Wordpress的博客已经搭建完成了&#xff0c;那么为了让它看起来更有人间烟火气一点&#xff0c;有一些常用的初始配置&#xff0c;这里整理一下。 修改页脚 页脚这里默认会显示Powered by Wordpress&#xff0c;还有一个原因是这里要加上备案信息。在主题里找到页脚&…

数据库范式、MySQL 架构、算法与树的深入解析

一、数据库范式 在数据库设计中&#xff0c;范式是一系列规则&#xff0c;用于确保数据的组织和存储具有良好的结构、完整性以及最小化的数据冗余。如果不遵循范式设计&#xff0c;数据可能会以平铺式罗列&#xff0c;仅使用冒号、分号等简单分隔。这种方式存在诸多弊端&#…

Taro React-Native IOS 打包发布

http网络请求不到 配置 fix react-native facebook::flipper::SocketCertificateProvider‘ (aka ‘int‘) is not a function or func_rn运行debug提示flipper-CSDN博客 Xcode 15&#xff08;iOS17&#xff09;编译适配报错_no template named function in namespace std-CS…

基于yolov8、yolov5的车型检测识别系统(含UI界面、训练好的模型、Python代码、数据集)

摘要&#xff1a;车型识别在交通管理、智能监控和车辆管理中起着至关重要的作用&#xff0c;不仅能帮助相关部门快速识别车辆类型&#xff0c;还为自动化交通监控提供了可靠的数据支撑。本文介绍了一款基于YOLOv8、YOLOv5等深度学习框架的车型识别模型&#xff0c;该模型使用了…

从python源码到可自动更新软件

相关阅读 标题链接如何打包python程序为exebczl【auto-py-to-exe 可视化打包python到exe】51CTO ZATA 1. python源码 打包时需要特别注意的源码编写规范 除了基本的 Python 编码规范之外,在准备程序进行打包时,还需要特别注意以下几点: 1.1 依赖管理 确保 requirements.t…

javaWeb小白项目--学生宿舍管理系统

目录 一、检查并关闭占用端口的进程 二、修改 Tomcat 的端口配置 三、重新启动 Tomcat 一、javaw.exe的作用 二、结束javaw.exe任务的影响 三、如何判断是否可以结束 结尾&#xff1a; 这个错误提示表明在本地启动 Tomcat v9.0 服务器时遇到了问题&#xff0c;原因是所需…

k8s笔记——核心概念

什么是K8s Kubernetes 也称为 K8s&#xff0c;是用于自动部署、扩缩和管理容器化应用程序的开源系统。 Kubernetes 最初是由 Google 工程师作为 Borg 项目开发和设计的&#xff0c;后于 2015 年捐赠给 云原生计算基金会&#xff08;CNCF&#xff09;。 什么是 Kubernetes 集群…

SkyWalking-安装

SkyWalking-简单介绍 是一个开源的分布式追踪系统&#xff0c;用于检测、诊断和优化分布式系统的功能。 支持 ElasticSearch、H2、MySQL、PostgreSql 等数据库 基于 ElasticSearch 的情况 ElasticSearch&#xff08;ES&#xff09; 安装 1、下载并解压 https://www.elastic…

怎么样绑定域名到AWS(亚马逊云)服务器

1&#xff0c;拿着你买的域名去亚马逊申请一个证书。申请证书分两种&#xff0c;一种是去亚马逊后台填域名手动申请 &#xff0c;另一种是通过API来申请&#xff0c;类似如下代码&#xff1a; 2、证验证书。有两种方式&#xff1a;一种是通过邮件&#xff0c;另一种去到域名提供…

C++常用的新特性-->day06

时间间隔duration duration表示一段时间间隔&#xff0c;用来记录时间长度&#xff0c;可以表示几秒、几分钟、几个小时的时间间隔。duration的原型如下 // 定义于头文件 <chrono> template<class Rep,class Period std::ratio<1> > class duration;Rep&…

云服务器端口开放

云服务器一般除了必要端口&#xff0c;其它端口默认都是关闭的&#xff0c;要想进行网络通信就必须开放指定的端口。下面以腾讯云服务器为例来进行详细说明。 腾讯云的轻量服务器是没有安全组的&#xff0c;这里有的只是防火墙&#xff0c;开放端口也是通过防火墙来设置的。首先…