MySQL(3):基本的 SELECT 语句

这篇具有很好参考价值的文章主要介绍了MySQL(3):基本的 SELECT 语句。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

SQL 语言

SQL(Structured Query Language,结构化查询语言)是使用关系模型的数据库应用语言, 与数据直接打交道 。
SQL 有两个重要的标准,分别是 SQL92 和 SQL99,它们分别代表了 92 年和 99 年颁布的 SQL 标准,我们今天使用的 SQL 语言依然遵循这些标准。

不同的数据库生产厂商都支持SQL语句,但都有特有内容。

SQL 分类

DDL(Data Definition Languages、数据定义语言),这些语句定义了不同的数据库、表、视图、索引等数据库对象,还可以用来创建、删除、修改数据库和数据表的结构。
DML(Data Manipulation Language、数据操作语言),用于添加、删除、更新和查询数据库记录,并检查数据完整性。主要的语句关键字包括 INSERT 、 DELETE 、 UPDATE 、 SELECT 等。SELECT是SQL语言的基础,最为重要。
DCL(Data Control Language、数据控制语言),用于定义数据库、表、字段、用户的访问权限和安全级别
主要的语句关键字包括 GRANT 、 REVOKE 、 COMMIT 、 ROLLBACK 、 SAVEPOINT 等。

因为查询语句使用的非常的频繁,所以很多人把查询语句单拎出来一类:DQL(数据查询语言)。还有单独将 COMMIT 、 ROLLBACK 取出来称为TCL (Transaction Control Language,事务控制语言)。

规则与规范

每条命令以 ;\g\G 结束;
关键字不能被缩写也不能分行;
关于标点符号:
必须保证所有的()、单引号、双引号是成对结束的;
必须使用英文状态下的半角输入方式;
字符串型和日期时间类型的数据可以使用单引号(' ')表示;
列的别名,尽量使用双引号(" "),而且不建议省略as;

大小写

MySQL 在 Windows 环境下是大小写不敏感的
MySQL 在 Linux 环境下是大小写敏感的
数据库名、表名、表的别名、变量名是严格区分大小写的
关键字、函数名、列名(或字段名)、列的别名(字段的别名) 是忽略大小写的。

尽量采用统一的书写规范:
数据库名、表名、表别名、字段名、字段别名等都小写
SQL 关键字、函数名、绑定变量等都大写

注释

单行注释:#注释文字(MySQL特有的方式)
单行注释:-- 注释文字(–后面必须包含一个空格。)
多行注释:/* 注释文字 */

命名规则

数据库、表名不得超过30个字符,变量名限制为29个;
必须只能包含 A–Z, a–z, 0–9, _共63个字符;
数据库名、表名、字段名等对象名中间不要包含空格
同一个MySQL软件中,数据库不能同名;同一个库中,表不能重名;同一个表中,字段不能重名;
必须保证你的字段没有和保留字、数据库系统或常用方法冲突。如果坚持使用,在SQL语句中使用(着重号)引起来
保持字段名和类型的一致性,在命名字段并为其指定数据类型的时候一定要保证一致性。假如数据类型在一个表里是整数,那在另一个表里可就别变成字符型了。

数据导入指令

1.在命令行客户端登录mysql,使用source指令导入:

source 文件的全部路径名

mysql> source d:\mysqldb.sql

MySQL(3):基本的 SELECT 语句,数据库,mysql,数据库
2.使用图形化界面的工具导入数据
SQLyog 中选择“工具” --“执行sql脚本”–选中xxx.sql即可。
MySQL(3):基本的 SELECT 语句,数据库,mysql,数据库

基本的SELECT语句

SELECT

标识选择哪些列: SELECT
标识从哪个表中选择: FROM
选择全部列:

SELECT * 
FROM  departments;

一般情况下,除非需要使用表中所有的字段数据,最好不要使用通配符‘*’。使用通配符虽然可以节省输入查询语句的时间,但是获取不需要的列数据通常会降低查询和所使用的应用程序的效率。通配符的优势是,当不知道所需要的列的名称时,可以通过它获取它们。

选择特定的列:

SELECT department_id, location_id
FROM  departments;

SELECTselect的作用是相同的。

列的别名

紧跟列名,也可以在列名和别名之间加入关键字AS,别名可以使用双引号,以便在别名中包含空格或特殊的字符并区分大小写。
AS 可以省略

SELECT employee_id AS emp_id,last_name AS lname,department_id AS "id"
FROM employees;

SELECT employee_id emp_id,last_name lname,department_id id
FROM employees;

MySQL(3):基本的 SELECT 语句,数据库,mysql,数据库

去除重复行

SELECT语句中使用关键字DISTINCT去除重复行

SELECT DISTINCT department_id
FROM employees;

针对于:

SELECT DISTINCT department_id,salary
FROM employees;

DISTINCT 其实是对后面所有列名的组合进行去重,通常只需要写一列就可以了,两列没有实际意义。

空值参与运算

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

非要参与运算,可以使用 IFNULL 函数。

着重号

需要保证表中的字段、表名等没有和保留字、数据库系统或常用方法冲突。如果真的相同,请在SQL语句中使用一对''(着重号)引起来

# 错误的
mysql> SELECT * FROM ORDER; 

# 正确的
mysql> SELECT * FROM `ORDER`;

查询常数

SELECT 'FDS' AS corporation, last_name FROM employees;

MySQL(3):基本的 SELECT 语句,数据库,mysql,数据库

显示表结构

使用DESCRIBEDESC 命令,表示表结构

DESCRIBE employees;DESC employees;

MySQL(3):基本的 SELECT 语句,数据库,mysql,数据库

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

过滤数据

使用WHERE 子句,将不满足条件的行过滤掉
WHERE子句紧随 FROM子句

SELECT 字段1,字段2
FROM 表名
WHERE 过滤条件
SELECT *
FROM employees
WHERE department_id = 90;

MySQL(3):基本的 SELECT 语句,数据库,mysql,数据库

数据库学习视频:
【MySQL数据库入门到大牛,mysql安装到优化,百科全书级,全网天花板】文章来源地址https://www.toymoban.com/news/detail-717916.html

到了这里,关于MySQL(3):基本的 SELECT 语句的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【MySQL入门】-- 数据库简单的SELECT语句详解

    目录 1.SQL分类 2.注释 3.数据导入指令 4.基本的SELECT语句 5.列的别名 6.去重复行 7.显示表结构 8.一些数据库基本操作 1.SQL分类 SQL语言在功能上主要分为三大类: DDL(Data Defintion Language)数据定义语言:定义不同的数据库,表,视图,索引等,可以创建,删除,修改数据库和数据库

    2024年02月09日
    浏览(69)
  • mysql,用sql语句,建立学生-课程数据库基本表

    学生表 学号 姓名 年龄 性别 院系 Student Sno Sname Sage Ssex Sdept 课程表 课程号 课程名 先行课 学分 Course Cno Cname Cpno Ccredit 选课表 学号 课程号 成绩 SC Sno Cno Grade 注意创建表的时候要注意它的字段名,类型,长度,约束条件,取值范围要合适,大小写符号要正确,中文逗号,分号

    2024年02月08日
    浏览(59)
  • MySQL数据库概念、管理以及SQL语句的基本命令操作

    数据(data) 描述事物的符号记录 包括数字,文字、图形、图像、声音、档案记录等 以“记录”形式按统一格式进行存储(记录可以看成一条记录) 表 将不同的记录组织在一起 用来存储具体数据 记录:行 字段(属性):列 以行+列的形式就组成了表(数据存储在表中) 数

    2024年02月08日
    浏览(71)
  • MySQL 数据库实用指南:测试数据准备、SQL语句规范与基本操作

    欢迎来到小K的MySQL专栏,本节将为大家准备MySQL测试数据、以及带来SQL语句规范、数据库的基本操作的详细讲解 要学习SQL查询语句,首先必须解决一个问题,数据问题。为了方便大家学习阅读我的文章,在这里提供了一个test.sql文件 ✨ 登录MySQL,输入 source xxx/test.sql 导入sql文

    2024年02月08日
    浏览(82)
  • 数据库(mysql语句)循环语句

    例题1: 20到50之间能被5除余1的所有自然数的和   例题2: 实现如下图 代码  例题3: 代码:power表示power(i,j)-----i的j次方 例题4:  实现 代码:  注:substring是从1开始,第一个参数表示要截取的字符串,第二个i和第三个j表示从第i个开始截,截取j个,如:str=HELLO, subs

    2024年02月05日
    浏览(44)
  • MySQL常用数据库语句

    ==数据库== 1、创建数据库 create database [IF NOT EXISTS] 数据库名; 2、删除数据库 drop database [IF EXISTS] 数据库名; 3、切换数据库 select database(); 4、查询数据库 show databases; ———————————————————————————— ==数据表== 1、创建数据表 create table 表名( 字段名

    2024年02月01日
    浏览(51)
  • 【MySQL数据库】MySQL 高级SQL 语句一

    ) % :百分号表示零个、一个或多个字符 _ :下划线表示单个字符 ‘A_Z’:所有以 ‘A’ 起头,另一个任何值的字符,且以 ‘Z’ 为结尾的字符串。例如,‘ABZ’ 和 ‘A2Z’ 都符合这一个模式,而 ‘AKKZ’ 并不符合 (因为在 A 和 Z 之间有两个字符,而不是一个字符)。 ‘ABC%’

    2024年02月09日
    浏览(241)
  • MySQL(六):基本的SELECT语句

    本博主将用CSDN记录软件开发求学之路上亲身所得与所学的心得与知识,有兴趣的小伙伴可以关注博主!也许一个人独行,可以走的很快,但是一群人结伴而行,才能走的更远! 语法: 选择全部列: 一般情况下,除非需要使用表中所有的字段数据,最好不要使用通配符‘ *

    2024年02月08日
    浏览(42)
  • MySQL(3):基本的 SELECT 语句

    SQL(Structured Query Language,结构化查询语言)是使用关系模型的数据库应用语言, 与数据直接打交道 。 SQL 有两个重要的标准,分别是 SQL92 和 SQL99,它们分别代表了 92 年和 99 年颁布的 SQL 标准,我们今天使用的 SQL 语言依然遵循这些标准。 不同的数据库生产厂商都支持SQL语句

    2024年02月08日
    浏览(36)
  • MySQL数据库管理高级语句

    复制表及内容     克隆表 获取数据表的表结构、索引等信息    清空表,删除表内的所有数据       删除的特点: 创建临时表 临时表创建成功之后,使用SHOWTABLES命令是看不到创建的临时表的, 临时表会在连接退出后被销毁。 如果在退出连接之前,也可以可执行增删改查

    2024年02月11日
    浏览(70)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包