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等)。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于JAVA+SpringBoot+Vue的华府便利店信息管理系统

基于JAVASpringBootVue的华府便利店信息管理系统 前言 ✌全网粉丝20W,csdn特邀作者、博客专家、CSDN[新星计划]导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末附源码下载链接&#x1f3…

GCC 简介

Linux 中的编译器 GCC 的编译原理和使用详解 GCC 简介 GCC(GNU Compiler Collection)是一套由 GNU 开发的编程语言编译器,它支持多种编程语言,包括 C、C、Objective-C、Fortran、Ada 和 Go 等。GCC 是一个开源的工具集&#xff…

STM32F103C8T6 IO 操作

1.开启相关时钟 在 STM32 微控制器中,开启 GPIO 端口的时钟是确保 IO 口可以正常工作的第一步。 查找 RCC 寄存器使能时钟 在 STM32 中,时钟控制的寄存器通常位于 RCC (Reset and Clock Control) 模块中。不同的 STM32 系列(如 STM32F1、STM…

vue3+vite 部署npm 包

公司需要所以研究了一下怎么部署安装,比较简单 先下载个vue项目 不用安准路由,pinna 啥的,只需要一个最简单的模版 删掉App.vue 中的其它组件 npm create vuelatest 开始写自定义组件 新建一个el-text 组件, name是重点,vue3中…

《Python游戏编程入门》注-第3章3

《Python游戏编程入门》的“3.2.4 Mad Lib”中介绍了一个名为“Mad Lib”游戏的编写方法。 1 游戏玩法 “Mad Lib”游戏由玩家根据提示输入一些信息,例如男人姓名、女人姓名、喜欢的食物以及太空船的名字等。游戏根据玩家输入的信息编写出一个故事,如图…

洛谷 P1226:【模板】快速幂

【题目来源】https://www.luogu.com.cn/problem/P1226【题目描述】 给你三个整数 a,b,p,求 a^b mod p。【输入格式】 输入只有一行三个整数,分别代表 a,b,p。【输出格式】 输出一行一个字符串 a^b mod ps&a…

Centos7快速重置root密码

1、重新启动Centos7,5秒内按向下方向键,使其停留在开机界面,如下图。 2、按’e’键,进入如下界面,移动向下方向键至“linux16”开头的行。然后按向右的方向键移动,找到“ro”并将其修改为“rw init/sysroot/bin/bash…

编写一个简单的Iinput_dev框架

往期内容 本专栏往期内容: input子系统的框架和重要数据结构详解-CSDN博客input device和input handler的注册以及匹配过程解析-CSDN博客input device和input handler的注册以及匹配过程解析-CSDN博客 I2C子系统专栏: 专栏地址:IIC子系统_憧憬…

使用 NumPy 和 Matplotlib 进行高级数据可视化:实践指南

使用 NumPy 和 Matplotlib 进行高级数据可视化:实践指南 数据科学和工程实践中,NumPy 和 Matplotlib 是强大的组合工具。本文将进一步展示如何借助这两个库进行更复杂的可视化任务,例如创建多曲线、叠加图、动态可视化等场景。 一、环境准备…

Crowd Counting 系列NO4.—SwitchCNN(CVPR 2017)网络复现

文章目录 引言简介环境配置1、numpy 安装2、matplotlib 安装3、cv2 安装,即opencv-python安装4、scipy 安装5、theano安装7、flip_filters不再支持 数据问题密度图生成注意 引言 SwitchCNN是我看的比较早的一篇多列密集计数网络了,但是其网络实现因各种…

漏洞挖掘 | 基于mssql数据库的sql注入

前记 今天挖edu随意点开个站,发现存在mssql数据库的sql注入,在此分享下整个挖掘过程 目录 0x1 判断网站数据库类型 0x2 了解mssql数据库的主要三大系统表 0x3 了解mssql的主要函数 0x4 判断注入点及其注入类型 0x5 联合查询之判断列数 0x6 联合查询之…

Redis 哨兵 总结

前言 相关系列 《Redis & 目录》(持续更新)《Redis & 哨兵 & 源码》(学习过程/多有漏误/仅作参考/不再更新)《Redis & 哨兵 & 总结》(学习总结/最新最准/持续更新)《Redis & 哨兵…

【成长day】NeRF学习记录1:预备知识nerf论文算法学习

个人知乎文章链接:https://zhuanlan.zhihu.com/p/3383996241 预备知识 NeRF重建 NeRF的全称是Neural Radiance Fields,即将场景表示为视场合成的神经辐射场,用神经网络来拟合辐射场,实现对三维场景的隐式表示。本质是完成了图形…

[项目详解][boost搜索引擎#2] 建立index | 安装分词工具cppjieba | 实现倒排索引

目录 编写建立索引的模块 Index 1. 设计节点 2.基本结构 3.(难点) 构建索引 1. 构建正排索引(BuildForwardIndex) 2.❗构建倒排索引 3.1 cppjieba分词工具的安装和使用 3.2 引入cppjieba到项目中 倒排索引代码 本篇文章,我们将继续项…

Android——事件冲突处理

当我们给列表的item设置了点击事件后&#xff0c;又给item中的按钮设置了点击事件&#xff0c;此时item的点击事件会失效。 解决 给item的布局xml中设置以下属性 android:descendantFocusability"blocksDescendants"<LinearLayout xmlns:android"http://sc…

005:航空力学基础、无人机操纵、飞机性能

摘要&#xff1a;本文详细介绍无人机稳定性、操控性、飞机性能等概念。 一、飞机的稳定性 概念&#xff1a; 飞机的稳定性&#xff08;安定性&#xff09;&#xff0c;是指在飞机受到扰动后&#xff0c;不经飞行员操纵&#xff0c;能恢复到受扰动前的原始状态&#xff08;即原…

Android系统架构

Android系统架构&#xff1a; Android系统架构是一个复杂的、分层的结构&#xff0c;旨在提供高度的灵活性和可扩展性。这个架构可以大致分为以下几个主要层次&#xff1a; Linux Kernel&#xff08;Linux内核&#xff09;&#xff1a; Linux内核是Android系统的底层&#xff0…

OAK相机的RGB-D彩色相机去畸变做对齐

▌低畸变标准镜头的OAK相机RGB-D对齐的方法 OAK相机内置的RGB-D管道会自动将深度图和RGB图对齐。其思想是将深度图像中的每个像素与彩色图像中对应的相应像素对齐。产生的RGB-D图像可以用于OAK内置的图像识别模型将识别到的2D物体自动映射到三维空间中去&#xff0c;或者产生的…

OpenSSL

OpenSSL 概述 OpenSSL 是一个开源的、安全传输协议实现工具&#xff0c;广泛应用于数据加密与解密、证书生成与管理以及其他安全性相关的任务。在现代网络安全中&#xff0c;OpenSSL 被用于构建和维护 SSL/TLS 通信&#xff0c;确保数据在传输过程中的机密性和完整性。 简单来…

西圣和绿联电容笔哪款好用?西圣、绿联和uhb电容笔真实避坑测评!

现在市面上的平替电容笔种类非常多&#xff0c;在购买的时候大多数人都没有非常确定的目标&#xff0c;这主要是因为大多数人对电容笔的认识程度不够。 作为一个有着多年数码产品测评经验的测评员&#xff0c;我刚好对电容笔也有比较深刻的理解&#xff0c;也借着大家问我关于…