MySQL:基本的SELECT语句

SQL的分类

DDL(数据定义语言):CREATE \ ALERT \ DROP \ RENAME \ TRUNCATE
DML(数据操作语言):INSERT \ DELETE \ UPDATE \ SELECT(重要)
DCL(数据操作语言):COMMIT \ ROLLBACK \ GRANT \ REVOKE \ SAVEPOINT

SQL规则

  • SQL 可以写在一行或者多行。为了提高可读性,各子句分行写,必要时使用缩进
  • 每条命令以 ; 或 \g 或 \G 结束
  • 关键字不能被缩写也不能分行
  • 必须保证所有的()、单引号、双引号是成对结束的必须使用英文状态下的半角输入方式
  • 字符串型和日期时间类型的数据可以使用单引号(’ ')表示
  • 列的别名,尽量使用双引号(" "),而且不建议省略as

注释

单行注释:-- 注释文字(–后有一个空格)
单行注释:#注释文字
多行注释:/* 注释文字 */

导入现有的数据表、表数据

  • 命令行:mysql> source E:\mysqldb.sql
  • 图形化工具:“工具”–》“执行sql脚本”–》“选中sql文件”

最基本的SELECT语句

  • 语法:
    SELECT 标识选择哪些列
    FROM 标识从哪个表中选择
  • 选择全部列:SELECT * FROM table1;
  • 选择特定的列:SELECT table1_id, name FROM table1;

列的别名

  • AS(alias别名):SELECT last_name AS name FROM employees;
  • 使用一对"":SELECT last_name "l_name" FROM employees;

去除重复行

  • DISTINCT:SELECT DISTINCT department_id FROM employees;

空值参与运算

  • 所有运算符或列值遇到null值,运算的结果都为null
  • 在 MySQL 里面, 空值不等于空字符串。一个空字符串的长度是 0,而一个空值的长
    度是空。而且,在 MySQL 里面,空值是占用空间的。
  • 空值参与运算结果还是为空

着重号 ``

  • 错误的:SELECT * FROM ORDER;
  • 正确的:SELECT * FROM`order`;
  • 结论:若需要保证表中的字段、表名等没有和保留字、数据库系统或常用方法冲突。如果真的相同,请在SQL语句中使用一对``(着重号)引起来。

显示表结构

  • 使用DESCRIBE 或 DESC 命令,表示表结构。
  • 命令:DESCRIBE employees; DESC employees;
  • Field:表示字段名称。
  • Type:表示字段类型,这里 barcode、goodsname 是文本型的,price 是整数类型的。
  • Null:表示该列是否可以存储NULL值。
  • Key:表示该列是否已编制索引。PRI表示该列是表主键的一部分;UNI表示该列是UNIQUE索引的一部分;MUL表示在列中某个给定值允许出现多次。
  • Default:表示该列是否有默认值,如果有,那么值是多少。
  • Extra:表示可以获取的与给定列有关的附加信息,例如AUTO_INCREMENT等。

过滤数据

  • 语法:SELECT 字段1,字段2 FROM 表名 WHERE 过滤条件;
  • 举例:查询90号部门的员工信息 SELECT * FROM employees WHERE department_id=90;
  • 举例:查询last_name为‘King’的员工信息 SELECT * FROM employees WHERE last_name='King';
上一篇:Spring Boot 缓存


下一篇:第03章_基本的SELECT语句