SQL数据库操作实战:员工信息表案例解析

本文将通过一个员工信息表的案例,详细讲解如何使用SQL语句进行数据库操作,包括创建数据库、创建表、插入数据、查询数据、统计数据、修改数据和删除数据等操作。

已知:员工信息表,表名为:employee

| id | Name | Sex | Age | Address | |---|---|---|---|---| | 1 | 张三 | 女 | 18 | 北京 | | 2 | 张四 | 男 | 20 | Null | | 3 | 王五 | 女 | 25 | 广州 | | 4 | 薛六 | 女 | 20 | Null | | 5 | 王五 | 男 | 22 | 北京 | | 6 | 赵七 | 男 | 38 | 上海 | | 7 | 张四 | 女 | 23 | 北京 |

SQL语句解析:

(1) 创建数据库info的语句:

CREATE DATABASE info;

解释:该语句用于创建一个名为'info'的数据库。

(2) 创建表employee的SQL语句,其中name不能为空,id为自增主键,性别不能为空:

CREATE TABLE employee (
  id INT PRIMARY KEY AUTO_INCREMENT,
  name VARCHAR(50) NOT NULL,
  sex VARCHAR(10) NOT NULL,
  age INT,
  address VARCHAR(100)
);

解释:该语句用于创建一个名为'employee'的表,包含以下字段:

  • id:自增主键,类型为INT。
  • name:员工姓名,类型为VARCHAR,长度为50,且不能为空。
  • sex:员工性别,类型为VARCHAR,长度为10,且不能为空。
  • age:员工年龄,类型为INT。
  • address:员工地址,类型为VARCHAR,长度为100。

(3) 插入上面的表中的数据的SQL语句:

INSERT INTO employee (id, name, sex, age, address)
VALUES (1, '张三', '女', 18, '北京'),
(2, '张四', '男', 20, Null),
(3, '王五', '女', 25, '广州'),
(4, '薛六', '女', 20, Null),
(5, '王五', '男', 22, '北京'),
(6, '赵七', '男', 38, '上海'),
(7, '张四', '女', 23, '北京');

解释:该语句用于将数据插入到'employee'表中,每个括号内表示一条记录,数据顺序对应表的字段顺序。

(4) 查询所有年龄大于20岁的男性员工的SQL语句:

SELECT * FROM employee WHERE age > 20 AND sex = '男';

解释:该语句用于查询'employee'表中所有年龄大于20岁且性别为'男'的员工信息。

(5) 查询所有年龄小于30岁的女性员工并按降序排列的SQL语句:

SELECT * FROM employee WHERE age < 30 AND sex = '女' ORDER BY age DESC;

解释:该语句用于查询'employee'表中所有年龄小于30岁且性别为'女'的员工信息,并按照年龄降序排列。

(6) 统计有地址的员工有多少名的SQL语句:

SELECT COUNT(*) FROM employee WHERE address IS NOT NULL;

解释:该语句用于统计'employee'表中地址不为空的员工数量。

(7) 按照年龄倒序获取员工信息的SQL语句:

SELECT * FROM employee ORDER BY age DESC;

解释:该语句用于查询'employee'表中所有员工信息,并按照年龄降序排列。

(8) 获取员工中哪个姓名具有重名现象,重名有多少个的SQL语句:

SELECT name, COUNT(*) FROM employee GROUP BY name HAVING COUNT(*) > 1;

解释:该语句用于查询'employee'表中姓名出现次数大于1的员工姓名及其出现次数。

(9) 查询所有不姓张的员工的SQL语句:

SELECT * FROM employee WHERE name NOT LIKE '张%';

解释:该语句用于查询'employee'表中所有姓名不以'张'开头的员工信息。

(10) 查询住址为北京的第2到5条记录的SQL语句:

SELECT * FROM employee WHERE address = '北京' LIMIT 1, 4;

解释:该语句用于查询'employee'表中地址为'北京'的员工信息,并从第二条记录开始,查询4条记录。

(11) 查询员工总数的SQL语句:

SELECT COUNT(*) FROM employee;

解释:该语句用于查询'employee'表中所有员工的总数。

(12) 向表中添加一个字段phone的SQL语句:

ALTER TABLE employee ADD phone VARCHAR(20);

解释:该语句用于在'employee'表中添加一个名为'phone'的字段,类型为VARCHAR,长度为20。

(13) 修改员工张四的住址为南京的SQL语句:

UPDATE employee SET address = '南京' WHERE name = '张四';

解释:该语句用于将'employee'表中姓名为'张四'的员工的地址修改为'南京'。

(14) 删除年龄大于24岁的女员工的SQL语句:

DELETE FROM employee WHERE age > 24 AND sex = '女';

解释:该语句用于删除'employee'表中年龄大于24岁且性别为'女'的员工信息。

(15) 修改字段phone的前五条电话号码为18288888888的SQL语句:

UPDATE employee SET phone = '18288888888' LIMIT 5;

解释:该语句用于将'employee'表中前五条记录的'phone'字段的值修改为'18288888888'。

注意:

以上SQL语句是在MySQL数据库环境下编写的,其他数据库系统可能会有所不同。

希望以上内容能够帮助你更好地理解SQL数据库操作。

SQL数据库操作实战:员工信息表案例解析

原文地址: https://www.cveoy.top/t/topic/qeYu 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录