Navicat 基础操作和 SQL 语句详解

Navicat 是一个流行的数据库管理工具,支持多种数据库(如MySQL、MariaDB、SQL Server、PostgreSQL等)。在Navicat中,你可以通过GUI界面来管理数据库,也可以直接编写SQL语句。下面我将介绍如何在Navicat中执行一些基础的操作,包括表的创建、CRUD操作等。

1.创建表的SQL语句

在Navicat中,创建表的SQL语句可以通过 CREATE TABLE 命令来实现,表的创建需要定义字段的名称、数据类型和约束条件。

SQL语句示例:

CREATE TABLE Students(StudentId INT AUTO_INCREAMENT PRIMARY KEY, --自增主键Name VARCHAR(100) NOT NULL,                --姓名字段,不能为空Age INT NOT NULL,                          --年龄字段,不能为空EnrollmentDate DATE                        --注册日期
);

解释

•        Students 是主键字段,使用 AUTO_INCREAMENT 让它自动递增。

•        Name 字段的类型是 VARCHAR(100),表示最长100个字符,且不能为空(NOT NULL)。

•        Age 字段的类型是 INT,也不能为空。

•        EnrollmentDate 字段存储日期,类型为DATE。

在Navicat中创建表:

1.在Navicat的GUI中,右键点击数据库 -> 选择“新建表”。

2.按照界面提示填写字段名称、数据类型等。

3.也可以直接使用SQL编辑器执行上述的CREATE TABLE语句。

2.插入数据的SQL语句

插入数据使用INSERT INTO 语句,将数据插入到表中。

SQL语句示例:

INSERT INTO Students(Name,Age,EnrollmentDate)
VALUES ('JOHN',20, '2024-12-12');

解释:

        Students是表名,括号中的Name、Age、EnrollmentDate是要插入数据的字段。

•        VALUES 中的 'JOHN'、20、'2024-12-12' 是对应字段的值。

当然,你也可以一次性插入多条数据:

INSERT INTO Students(Name,Age,EnrollmentDate) 
VALUES('Alice', 22, '2024-01-12'),('Bob', 21, '2024-02-10'),('Charlie', 23, '2024-03-18');

3.查询数据的SQL语句(READ)

查询数据使用SELECT 语句,支持简单查询和复杂查询。

简单查询:

查询所有学生数据:

SELECT * FROM Students;

查询指定列数据:

SELECT Name,Age FROM Students;

WHERE 条件查询:

SELECT * FROM Students Where Age > 18;

ORDER BY 排序:

SELECT * FROM Students ORDER BY Age DESC; --按年龄降序排列

LIMIT 限制返回结果:

SELECT * FROM Students LIMIT 5; --只返回前5条数据

延伸:使用LIKE 模糊查询:

SELECT * FROM Students Where Name LIKE 'A%'; -- 查找名字以A开头的学生

4.更新数据的SQL语句(UPDATE)

使用 UPDATE 语句可以修改表中的数据。

UPDATE Students
SET Age = 25
WHERE Name = 'Alice';

解释:

•        SET Age = 25 表示将Age字段的值更新为25。

•        WHERE Name = 'Alice' 是条件,表示只更新Name 为Alice 的那一行。

当然,也可以同时更新多个字段:

UPDATE Students
SET Age = 22, EnrollmentDate = '2024-02-01'
WHERE Name = 'Bob';

5.删除数据的SQL语句(DELETE)

删除数据使用 DELETE FROM 语句,可以根据条件删除特定行。

DELETE FROM Students 
WHERE Name = 'Charlie';

解释:

•        DELETE FROM Students 表示从Students表中删除数据。

•        WHERE Name = 'Charlie' 是条件,表示只删除Name 为Charlie的那一行。

删除所有数据(慎用):

DELETE FROM Students;

6.复杂查询与延伸

JOIN操作(连接查询):

JOIN 用于从多个表中关联查询数据。假设我们另外有一张表Courses,他记录学生的课程信息。

CREATE TABLE Courses(CoursesId INT AUTO_INCREMENT PRIMARY KEY,CoursesName VARCHAR(100),StudentsId INT, --外键,关联Students表FOREIGN KEY(StudentsId) REFERENCES Students(StudentsId)
);

查询学生及其所选课程信息:

SELECT Students.Name,Courses.CoursesName 
FROM Students 
JOIN Courses ON Students.StudentsId = Courses.StudentsId;

解释:

•        JOIN Courses ON Students.StudentsId = Courses.StudentsId 用于将Students 表和Courses表连接,条件是两表的StudentsId相等。

•        结果将显示学生的姓名和他们所选的课程。

聚合函数查询:

•        COUNT:统计总行数。

SELECT COUNT(*) AS TotalStudents FROM Students;

•        SUM:计算某列的总和(例如学生的总年龄)。

SELECT SUM(Age) AS TotalAge FROM Students;

•        AVG:计算平均值。

SELECT AVG(Age) AS AverageAge FROM Students;

•        GROUP BY :按某列分组并计算每组的统计信息。比如,按年龄分组,统计每个年龄的学生数量。

SELECT Age, COUNT(*) AS CountOfStudents
FROM Students
GROUP BY Age;

总结:

1.表的创建:通过CREATE TABLE 语句可以在Navicat中创建表。

2.CRUD 操作:

•        创建(插入数据)使用 INSERT INTO。

•        查询数据使用SELECT, 可以使用条件、排序、分组等功能。

•        更新数据使用UPDATE。

•        删除数据使用DELETE FROM.

3. 复杂查询:如JOIN连接查询、聚合函数(COUNT、SUM、AVG等)。

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

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

相关文章

NVR录像机汇聚管理EasyNVR多品牌NVR管理工具/设备视频报警功能详解

在科技日新月异的今天,视频监控系统作为现代社会的“第三只眼”,正以前所未有的方式深刻影响着我们的生活与社会结构。从公共场所的安全监控到个人生活的记录分享,视频监控系统以其独特的视角和功能,为社会带来了诸多好处&#xf…

day10:ssh服务-跳板机

一,ssh服务概述 ssh服务概述 ssh(Secure Shell)是一种用于在不安全网络中进行安全登录、远程执行命令及传输文件的网络协议。它通过加密技术来保证通信的保密性和完整性,主要用于替代不安全的telnet、rlogin、rsh等协议。ssh通常…

表达式求值(2020cspj)

题目描述 给定一个只包含加法和乘法的算术表达式,请你编程计算表达式的值。 输入格式 一行,为需要你计算的表达式,表达式中只包含数字、加法运算符 和乘法运算符 *,且没有括号,所有参与运算的数字均为 0 到 231−1…

python爬虫实战案例——抓取B站视频,不同清晰度抓取,实现音视频合并,超详细!(内含完整代码)

文章目录 1、任务目标2、网页分析3、代码编写 1、任务目标 目标网站:B站视频(https://www.bilibili.com/video/BV1se41117WP/?vd_sourcee8e376ccbc5aa4cfd88e6a7917adfd1a),用于本文测验 要求:抓取该网址下的视频&…

【制造业&电子产品】电脑电子元件检测系统源码&数据集全套:改进yolo11-TADDH

改进yolo11-SCConv等200全套创新点大全:电脑电子元件检测系统源码&数据集全套 1.图片效果展示 项目来源 人工智能促进会 2024.10.24 注意:由于项目一直在更新迭代,上面“1.图片效果展示”和“2.视频效果展示”展示的系统图片或者…

Linux: network: wireshark IO图的一个问题

今天遇到一个问题,发现wireshark画的IO图,前几秒没有数据,但是根据Raw的pcap看,是有包的,这就迷惑了。 经同事提醒,这个IO在设置了多个画图filter的时候,可能导致开始前几秒没有输出。如下图 这…

jenkins ssh 免密报错Host key verification failed.

jenkins 发布项目,ssh连接远程服务器时报错:Host key verification failed. 解决: 原因是生成的sshkey不是用的jenkins用户,所以切换用户到:jenkins重新生成sshkey su jenkins ssh-keygen -t rsa ssh-copy-id -i ~/…

#渗透测试#安全见闻7 硬件设备的网络安全问题与潜在漏洞分析

安全见闻7 硬件设备的网络安全问题与潜在漏洞分析及渗透测试应用 ##B站陇羽Sec## 硬件设备在网络系统中扮演着至关重要的角色,它们构成了网络的物理基础,确保数据能够有效地传输和处理。以下是几种关键的硬件设备及其在网络中的作用&am…

mysql8数据库备份

1、背景 mysql 8备份策略,备份7天,每天全量备份一次。 2、方案 在 MySQL 8 中,你可以使用 mysqldump 工具来创建数据库的全量备份。要实现每天全量备份一次,并且保留最近7天的备份,你可以设置一个自动化的备份策略&am…

C# 串口通信教程

串口通信(Serial Communication)是一种用于设备之间数据传输的常见方法,通常用于与外部硬件设备(如传感器、机器人、微控制器)进行通信。在 C# 中,System.IO.Ports 命名空间提供了与串口设备交互的功能&…

2024Flutter面试题

1.Dart是值传递还是引用传递? dart是值传递。 每次调用函数,传递过去的都是对象的内存地址,而不是这个对象的赋值。 2.简述Dart语音特性 在Dart中,一切都是对象,所有的对象都是继承自Object Dart是强类型语言&#…

mono源码交叉编译 linux arm arm64全过程

初级代码游戏的专栏介绍与文章目录-CSDN博客 我的github:codetoys,所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。 这些代码大部分以Linux为目标但部分代码是纯C的,可以在任何平台上使用。 源码指引:github源…

GPT-4o 和 GPT-4 Turbo 模型之间的对比

GPT-4o 和 GPT-4 Turbo 之间的对比 备注 要弄 AI ,不同模型之间的对比就比较重要。 GPT-4o 是 GPT-4 Turbo 的升级版本,能够提供比 GPT-4 Turbo 更多的内容和信息,但成功相对来说更高一些。 第三方引用 在 2024 年 5 月 13 日&#xff0…

8.MySQL复合查询

目录 复合查询基本查询回顾多表查询 - 笛卡尔积自连接子查询单行子查询多行子查询多列子查询在from中使用子查询 合并查询unionunion all 表的内连和外连内连接外连接左外连接右外连接 复合查询 前面我们讲解的mysql表的查询都是对一张表进行查询,在实际开发中这远远…

HTML+JavaScript案例分享: 打造经典俄罗斯方块,详解实现全过程

在本文中,我们将深入探讨如何使用 JavaScript 实现经典的俄罗斯方块游戏。俄罗斯方块是一款广为人知的益智游戏,通过操纵各种形状的方块,使其在游戏区域内排列整齐,以消除完整的行来获得分数。 效果图如下: 一、游戏界面与布局 我们首先使用 HTML 和 CSS 来创建游戏的界面…

java智能物流管理系统源码(springboot)

项目简介 智能物流管理系统实现了以下功能: 智能物流管理系统的主要使用者分为管理员,顾客,员工,店主。功能有个人中心,顾客管理,员工管理,店主管理,门店信息管理,门店…

gin入门教程(4):路由与处理器

路由与处理器 在 Gin 框架中,路由和处理器是核心组成部分,负责将 HTTP 请求映射到相应的处理逻辑。 1. 定义路由 在 cmd/main.go 中,您可以定义不同的路由,例如: r.GET("/ping", func(c *gin.Context) {…

.NET 8 Web API从基础到提高全面示例

.NET 8 Web API从基础到提高全面示例 概述:1. 设置 .NET 8 Web API 项目概念使用 .NET CLI 创建新的 Web API 项目。这设置了一个基本的项目结构,包括启动和 WeatherForecast 控制器作为示例。Program.cs代码示例dotnet new webapi -n MyWebApi2. Prog…

查看Chrome安装路

谷歌Google浏览器查看安装路径,浏览器Google Chrome浏览器查看安装路径 chrome://version/ 来源:笔记云

如何训练SDXL,finetune,Docker,实战教程

启动容器: docker run -it --rm --gpus all --net host --shm-size=16g -v /root/xiedong:/root/xiedong kevinchina/deeplearning:pytorch2.3.0-cuda12.1-cudnn8-devel-xformers-lora-train bash启动webui: cd /workspace/lora-scriptspython gui.py --host "0.0.0.0…