本文共 2707 字,大约阅读时间需要 9 分钟。
SQL(Structured Query Language,结构化查询语言)是用于与数据库交互的标准化查询语言,广泛应用于关系型数据库管理系统中。SQL 可以按照功能主要分为以下几类:
DQL(数据查询语言):专门用于查询数据的语言,所有 select
语句都属于 DQL。
DML(数据操作语言):负责对数据库中的数据进行增、删、改操作,包括 insert
、delete
、update
等语句。
DDL(数据定义语言):用于定义或修改数据库中的表结构,包括 create table
、drop table
、alter table
等语句。
TCL(事务控制语言):负责事务管理,常用的语句有 commit
(提交事务)和 rollback
(回滚事务)。
DCL(数据控制语言):负责对数据库用户的权限进行管理,包括 grant
(授权)和 revoke
(撤销权限)等操作。
在 MySQL 中,select
语句是执行数据查询的主要语句。最简单的查询方式是使用 select * from table
,可以获取表中所有字段的数据。
mysql> select * from emp;
EMPNO | ENAME | JOB | MGR | HIREDATE | SAL | COMM | DEPTNO |
---|---|---|---|---|---|---|---|
7369 | SMITH | CLERK | 7902 | 1980-12-17 | 800 | NULL | 20 |
7499 | ALLEN | SALESMAN | 7698 | 1981-02-20 | 1600 | 300 | 30 |
7521 | WARD | SALESMAN | 7698 | 1981-02-22 | 1250 | 500 | 30 |
7566 | JONES | MANAGER | 7839 | 1981-04-02 | 2975 | NULL | 20 |
7654 | MARTIN | SALESMAN | 7698 | 1981-09-28 | 1250 | 1400 | 30 |
7698 | BLAKE | MANAGER | 7839 | 1981-05-01 | 2850 | NULL | 30 |
7782 | CLARK | MANAGER | 7839 | 1981-06-09 | 2450 | NULL | 10 |
7788 | SCOTT | ANALYST | 7566 | 1987-04-19 | 3000 | NULL | 20 |
7839 | KING | PRESIDENT | NULL | 1981-11-17 | 5000 | NULL | 10 |
7844 | TURNER | SALESMAN | 7698 | 1981-09-08 | 1500 | 0 | 30 |
7876 | ADAMS | CLERK | 7788 | 1987-05-23 | 1100 | NULL | 20 |
7900 | JAMES | CLERK | 7698 | 1981-12-03 | 950 | NULL | 30 |
7902 | FORD | ANALYST | 7566 | 1981-12-03 | 3000 | NULL | 20 |
7934 | MILLER | CLERK | 7782 | 1982-01-23 | 1300 | NULL | 10 |
EMPNO
:员工编号ENAME
:员工姓名JOB
:员工职位MGR
:员工上级领导编号HIREDATE
:员工雇佣日期SAL
:员工薪水COMM
:员工津贴DEPTNO
:员工部门编号select [字段名1], [字段名2], ... from 表名;
;
结尾。SELECT
关键字可以使用小写、全大写或部分大写。select ename, empno from emp;
select ename, sal * 12 as '年薪' from emp;
select ename, sal * 12 as yearsal from emp;
以下是用于创建和插入数据库的 SQL 代码,供参考:
-- 创建部门表create table dept ( deptno int(2) not null, name varchar(14), loc varchar(13), primary key (deptno));-- 创建员工表create table emp ( empno int(4) not null, ename varchar(10), job varchar(9), mgr int(4), hiredate date default null, sal double(7,2), comm double(7,2), primary key (empno), deptno int(2));-- 创建薪酬等级表create table salgrade ( grade int, losal int, hisal int);-- 插入部门数据insert into dept (deptno, name, loc) values (10, 'ACCOUNTING', 'NEW YORK');insert into dept (deptno, name, loc) values (20, 'RESEARCH', 'DALLAS');insert into dept (deptno, name, loc) values (30, 'SALES', 'CHICAGO');insert into dept (deptno, name, loc) values (40, 'OPERATIONS', 'BOSTON');-- 插入员工数据insert into emp (empno, ename, job, mgr, hiredate, sal, comm, deptno) values (7369, 'SMITH', 'CLERK', 7902, '1980-12-17', 800, null, 20);-- ... 其他插入语句 ...
select * from table
,因为这会占用大量的网络资源并影响数据库性能。select
语句中明确指定需要的字段。as
keyword 时,确保字段名称用单引号括起来,并且遵循数据库的具体要求。转载地址:http://lrbfk.baihongyu.com/