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通常…

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 ~/…

C# 串口通信教程

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

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)

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

查看Chrome安装路

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

idea安装visualVm插件

idea 安装visualVM插件用于分析java程序, 1.在插件市场安装visualvm launcher 2.安装成功后,重启idea,此时启动按钮旁边有这两个按钮 3.需要在这里配置插件的visualvm位置 4.配置完后,点击启动

已解决 django.db.utils.OperationalError: (1051, “Unknown table

报错信息: django.db.utils.OperationalError: (1051, "Unknown table bjybolg.tool_submission")python manage.py migrate --fake 命令用于告诉 Django 假装已经应用某个迁移,而不实际执行该迁移的操作。这通常在以下情况下非常有用&#x…

Layout 布局组件快速搭建

文章目录 设置主题样式变量封装公共布局组件封装 Logo 组件封装 Menu 菜单组件封装 Breadcrumb 面包屑组件封装 TabBar 标签栏组件封装 Main 内容区组件封装 Footer 底部组件封装 Theme 主题组件 经典布局水平布局响应式布局搭建 Layout 布局组件添加 Layout 路由配置启动项目 …

Linux: Shell编程入门

Shell 编程入门 1 ) Shell 概念 shell 是 在英语中 壳, 外壳的意思可以把它想象成嵌入在linux这样的操作系统里面的一个微型的编程语言不像C语言, C 或 Java 等编程语言那么完整,它可以帮我们完成很多自动化任务例如保存数据监测系统的负载等等,我们同样…

【ArcGIS Pro实操第8期】绘制WRF三层嵌套区域

【ArcGIS Pro实操第8期】绘制WRF三层嵌套区域 数据准备ArcGIS Pro绘制WRF三层嵌套区域Map-绘制三层嵌套区域更改ArcMap地图的默认显示方向指定数据框范围 Map绘制研究区Layout-布局出图 参考 本博客基于ArcGIS Pro绘制WRF三层嵌套区域,具体实现图形参考下图&#xf…

从零开始学五笔(七):折区字根

讲解格式: 先介绍按键的区位号、口诀内容、口诀说明然后列每个字根能组成什么汉字,难拆字将用中括号标出 ‍ N 键 区位号:51 口诀:已半巳满不出己,左框折尸心和羽 说明: 已半巳满不出己:指…

CentOS 8修改Linux配置文件指定属性的值

1.前提: 存在test空文件(test位于/etc/sysconfig/network-scripts目录) 2.test文件插入内容: 1)添加内容:IPADDR192.168.132.129 echo IPADDR192.168.132.129 | sudo tee -a /etc/sysconfig/network-sc…