目录
SQL语言的分类:
- DDL(Data Definition Languages、数据定义语言),这些语句定义了不同的数据库、表、视图、索 引等数据库对象,还可以用来创建、删除、修改数据库和数据表的结构。
主要的语句关键字包括 CREATE 、 DROP 、 ALTER 等。
- DML(Data Manipulation Language、数据操作语言),用于添加、删除、更新和查询数据库记 录,并检查数据完整性。
主要的语句关键字包括 INSERT 、 DELETE 、 UPDATE 、 SELECT 等。
SELECT是SQL语言的基础,最为重要。
- DCL(Data Control Language、数据控制语言),用于定义数据库、表、字段、用户的访问权限和 安全级别。
主要的语句关键字包括 GRANT 、 REVOKE 、 COMMIT 、 ROLLBACK、SAVEPOINT 等。
SQL大小写的规范(建议遵守)
- MySQL 在 Windows 环境下是大小写不敏感的
- MySQL 在 Linux 环境下是大小写敏感的
数据库名、表名、表的别名、变量名是严格区分大小写的
关键字、函数名、列名(或字段名)、列的别名(字段的别名) 是忽略大小写的。
- 推荐采用统一的书写规范:
数据库名、表名、表别名、字段名、字段别名等都小写
SQL 关键字、函数名、绑定变量等都大写
注释
单行注释:#注释文字(MySQL特有的方式)
单行注释:-- 注释文字(--后面必须包含一个空格。)
多行注释:/* 注释文字 */
数据导入指令
mysql> source d:\mysqldb.sql
基本的select语句
1.选择全部列
SELECT * FROM departments;
2.选择特定的列
SELECT department_id, location_id
FROM departments;
3.列的别名
紧跟列名,也可以在列名和别名之间加入关键字AS(可以省略),别名使用双引号,以便在别名中包含空格或特殊的字符并区分大小写。
SELECT last_name AS name, commission_pct comm
FROM employees;
SELECT last_name "Name", salary*12 "Annual Salary"
FROM employees;
4.去除重复行
SELECT DISTINCT department_id
FROM employees;
5.空值参与计算
所有运算符或列值遇到null值,运算的结果都为null
6.着重号
当与关键字重复时需要加上着重号`
7.显示表结构
用DESC 或者 DESCCRIBE 表示表的结构
- Field:表示字段名称。
- Type:表示字段类型,这里 barcode、goodsname 是文本型的,price 是整数类型的。 Null:表示该列是否可以存储NULL值。
- Key:表示该列是否已编制索引。PRI表示该列是表主键的一部分;
- UNI表示该列是UNIQUE索引的一 部分;
- MUL表示在列中某个给定值允许出现多次。
- Default:表示该列是否有默认值,如果有,那么值是多少。
- Extra:表示可以获取的与给定列有关的附加信息,例如AUTO_INCREMENT等。
8.过滤数据
SELECT 字段1,字段2
FROM 表名 WHERE 过滤条件
SELECT employee_id, last_name, job_id, department_id
FROM employees WHERE department_id = 90 ;