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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值