在数据库操作的第二部分,我们将深入探讨一系列关键概念和技术。首先,`showdatabases;` 是一个SQL命令,用于列出当前数据库管理系统(DBMS)中可用的所有数据库。这有助于管理员或用户了解他们可以访问的数据存储单元。
接下来,`userui;` 假设是某个特定数据库的名称,而 `Showtables;` 是查看该数据库中的所有表的命令,这对于管理和分析数据结构至关重要。通过 `Select * from teacher;`,我们可以获取 `teacher` 表中的所有字段和记录,`*` 代表选择所有字段。
针对更精确的数据检索,SQL提供了条件查询。例如,`Select id, name, age, sex, 科目 from teacher where age > 27 order by age desc;` 会筛选出年龄大于27岁的教师,并按年龄降序排列。`Select * from teacher;` 和 `Select distinct 科目 from teacher;` 分别展示所有字段和去除重复的科目信息。
当我们需要获取特定字段时,可以使用如 `select name, 科目 from teacher;` 这样的查询,只提取所需的数据。插入新记录时,使用 `insert into teacher (id, name, age, sex, 教学等级, 科目) values ();`,但实际插入数据时需要提供具体的值对。
查询特定记录可以通过 `Select id, name, sex, 科目 from teacher where id = 555;` 来实现,这里使用了 `WHERE` 子句来指定特定的ID。IN关键字允许我们查找满足多个条件的记录,如 `Select id, name, age, sex, 科目 from teacher where age in (24, 28);` 或 `科目 in ("生物", "历史", "化学");`。
`between` 关键字用于查询某个范围内的值,如 `where age between 29 and 32;`,返回的是年龄在这个范围内的教师信息。`LIKE` 操作符在字符串匹配中非常有用,例如 `where name like "赵一";` 会匹配名字以 "赵一" 开始的记录。`LIKE` 与 `=` 不同,它可以处理通配符。例如,`where name like "王%"` 匹配以 "王" 开头的任何字符串,而 `where name like "王_"` 则匹配名字中 "王" 后跟一个任意字符的记录。
最后,要注意的是,在包含通配符时,`LIKE` 的使用比 `=` 更灵活,且在某些情况下,`=` 无法替代 `LIKE`。总结来说,这部分内容涵盖了从基础数据浏览到高级筛选和插入操作的全面讲解,是理解数据库管理的重要环节。