数据库相关的几个名词:
- DB: Database 数据库
- DBMS: DataBase Management System 数据库管理系统
- DBA: DataBase Administrator 数据库管理员
- SQL: Structured Query Language 结构化查询语言
1. SQL 基础
1.1 SQL 的特点
- 是关系数据库的标准语言
- 简单易学,功能极强,完成核心功能只用了9个动词:
| SQL 功能 | 动词 |
|---|---|
| 查询 | SELECT |
| 定义 |
CREATE、 DROP、 ALTER
|
| 操纵 |
INSERT、 UPDATE 、DELETE
|
| 控制 |
GRANT、 REVOKE
|
1.2 SQL 基本语法:
- SQL 的注释是以两个连字符(
--)开头的 - 每个命令都要以分号结尾
- SQL 不区分关键字的大小写,但遵循大写关键字的书写惯例,有助于将关键字和数据库、表、列名区分开来
- 但是 SQL 对数据库名、表名、列名都是区分大小写的
- 每条命令是可以换行的
-- 创建一个数据库
CREATE DATABASE databaseName;
-- 删除一个数据库
DROP DATABASE databaseName;
-- 显示所有可用的数据库
SHOW DATABASE;
-- 使用已存在的名为 employees 数据库
USE employees;
-- 从当前数据库 employees 的 departments 表中选取所有行和列
SELECT * FROM departments;
-- 检索所有行,但只选取 dept_no 和 dept_name 两列
SELECT dept_no,
dept_name FROM departments;
-- 检索所有列,但只选取 5 行
SELECT * FROM departments LIMIT 5;
-- 从 departments 表中检索 dept_name 列的值,其中 dept_name 的值包含字符串 en
SELECT dept_name FROM departments WHERE dept_name LIKE %en% ;
-- 从 departments 表中检索所有列,其中 dept_name 列的值以 S 开头,并紧随其后为4个字符
SELECT * FROM departments WHERE dept_name LIKE S____ ;
-- 从 titles 表中选取 title 值并去重
SELECT DISTINCT title FROM titles;
-- 从 titles 表中选取 title 值并去重,同时还要以 title 排序(区分大小写)
SELECT DISTINCT title FROM titles ORDER BY title;
-- 显示 departments 表的行数
SELECT COUNT(*) FROM departments;
-- 选取 employees 表中的 emp_no、first_name 和 last_name 列,
-- titles 表中的 title、from_date、to_date 列,
-- 要满足一个条件: employees 表中的 emp_no 要和 titles 表中的 emp_no 相等
-- 从上述结果中选取 10 行
SELECT e.emp_no, e.first_name, e.last_name,
t.title, t.from_date, t.to_date
FROM titles AS t
INNER JOIN employees AS e
ON e.emp_no = t.emp_no LIMIT 10;
-- 在当前数据库中创建一个名为 names 的表,
-- 这张表有两个字段 first_name 和 last_name, 它们的数据类型都为 VARCHAR 且最大字符长度为 20
CREATE TABLE names (first_name VARCHAR(20), last_name VARCHAR(20));
-- 向 names 表中添加一条数据
INSERT INTO names VALUES( Donald , Chamberlin );
-- 将 names 表中所有 last_name 为 Chamberlin 的行中的 first_name 改为 Edward
UPDATE names SET first_name= Edward WHERE last_name= Chamberlin ;
-- 删除 names 表中所有 last_name 以 C 开头的行
DELETE FROM names WHERE last_name LIKE C% ;
-- 删除 names 表中所有行,只保留一张空表
DELETE FROM names;
-- 删除整个 names 表
DROP TABLE names;

© 版权声明
文章版权归作者所有,未经允许请勿转载。如内容涉嫌侵权,请在本页底部进入<联系我们>进行举报投诉!
THE END















- 最新
- 最热
只看作者