Navicat 底子操纵和 SQL 语句详解

鼠扑  论坛元老 | 2024-11-19 08:25:53 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 1067|帖子 1067|积分 3201

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

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

在Navicat中,创建表的SQL语句可以通过 CREATE TABLE 下令来实现,表的创建需要界说字段的名称、数据类型和约束条件。
SQL语句示例:
  1. CREATE TABLE Students(
  2.     StudentId INT AUTO_INCREAMENT PRIMARY KEY, --自增主键
  3.     Name VARCHAR(100) NOT NULL,                --姓名字段,不能为空
  4.     Age INT NOT NULL,                          --年龄字段,不能为空
  5.     EnrollmentDate DATE                        --注册日期
  6. );
复制代码
解释
•        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语句示例:
  1. INSERT INTO Students(Name,Age,EnrollmentDate)
  2. VALUES ('JOHN',20, '2024-12-12');
复制代码
解释:
        Students是表名,括号中的Name、Age、EnrollmentDate是要插入数据的字段。
•        VALUES 中的 'JOHN'、20、'2024-12-12' 是对应字段的值。
固然,你也可以一次性插入多条数据:
  1. INSERT INTO Students(Name,Age,EnrollmentDate)
  2. VALUES
  3.     ('Alice', 22, '2024-01-12'),
  4.     ('Bob', 21, '2024-02-10'),
  5.     ('Charlie', 23, '2024-03-18');
复制代码
3.查询数据的SQL语句(READ)

查询数据使用SELECT 语句,支持简朴查询和复杂查询。
简朴查询:
查询所有学生数据:
  1. SELECT * FROM Students;
复制代码
查询指定列数据:
  1. SELECT Name,Age FROM Students;
复制代码
WHERE 条件查询:
  1. SELECT * FROM Students Where Age > 18;
复制代码
ORDER BY 排序:
  1. SELECT * FROM Students ORDER BY Age DESC; --按年龄降序排列
复制代码
LIMIT 限制返回结果:
  1. SELECT * FROM Students LIMIT 5; --只返回前5条数据
复制代码
延伸:使用LIKE 模糊查询:
  1. SELECT * FROM Students Where Name LIKE 'A%'; -- 查找名字以A开头的学生
复制代码
4.更新数据的SQL语句(UPDATE)

使用 UPDATE 语句可以修改表中的数据。
  1. UPDATE Students
  2. SET Age = 25
  3. WHERE Name = 'Alice';
复制代码
解释:
•        SET Age = 25 表示将Age字段的值更新为25。
•        WHERE Name = 'Alice' 是条件,表示只更新Name 为Alice 的那一行。
固然,也可以同时更新多个字段:
  1. UPDATE Students
  2. SET Age = 22, EnrollmentDate = '2024-02-01'
  3. WHERE Name = 'Bob';
复制代码
5.删除数据的SQL语句(DELETE)

删除数据使用 DELETE FROM 语句,可以根据条件删除特定行。
  1. DELETE FROM Students
  2. WHERE Name = 'Charlie';
复制代码
解释:
•        DELETE FROM Students 表示从Students表中删除数据。
•        WHERE Name = 'Charlie' 是条件,表示只删除Name 为Charlie的那一行。
删除所有数据(慎用):
  1. DELETE FROM Students;
复制代码
6.复杂查询与延伸

JOIN操纵(毗连查询):
JOIN 用于从多个表中关联查询数据。假设我们另外有一张表Courses,他记录学生的课程信息。
  1. CREATE TABLE Courses(
  2.     CoursesId INT AUTO_INCREMENT PRIMARY KEY,
  3.     CoursesName VARCHAR(100),
  4.     StudentsId INT, --外键,关联Students表
  5.     FOREIGN KEY(StudentsId) REFERENCES Students(StudentsId)
  6. );
复制代码
查询学生及其所选课程信息:
  1. SELECT Students.Name,Courses.CoursesName
  2. FROM Students
  3. JOIN Courses ON Students.StudentsId = Courses.StudentsId;
复制代码
解释:
•        JOIN Courses ON Students.StudentsId = Courses.StudentsId 用于将Students 表和Courses表毗连,条件是两表的StudentsId相称。
•        结果将体现学生的姓名和他们所选的课程。
聚合函数查询:
•        COUNT:统计总行数。
  1. SELECT COUNT(*) AS TotalStudents FROM Students;
复制代码
•        SUM:盘算某列的总和(例如学生的总年龄)。
  1. SELECT SUM(Age) AS TotalAge FROM Students;
复制代码
•        AVG:盘算均匀值。
  1. SELECT AVG(Age) AS AverageAge FROM Students;
复制代码
•        GROUP BY :按某列分组并盘算每组的统计信息。比如,按年龄分组,统计每个年龄的学生数量。
  1. SELECT Age, COUNT(*) AS CountOfStudents
  2. FROM Students
  3. GROUP BY Age;
复制代码
总结:

1.表的创建:通过CREATE TABLE 语句可以在Navicat中创建表。
2.CRUD 操纵:
•        创建(插入数据)使用 INSERT INTO。
•        查询数据使用SELECT, 可以使用条件、排序、分组等功能。
•        更新数据使用UPDATE。
•        删除数据使用DELETE FROM.
3. 复杂查询:如JOIN毗连查询、聚合函数(COUNT、SUM、AVG等)。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

鼠扑

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表