鼠扑 发表于 2024-11-19 08:25:53

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

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: Navicat 底子操纵和 SQL 语句详解