Mysql必知必会Note-第四章 检索数据

本文深入解析SQL语言,涵盖基本的DML和DDL指令,包括数据操作如SELECT、UPDATE、DELETE、INSERT,以及数据定义如CREATE DATABASE、ALTER TABLE、DROP INDEX等。同时,文章详细介绍了如何使用LIMIT进行结果限制,利用DISTINCT获取唯一值,以及如何通过完全限定的表名进行跨库查询。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基本知识

  • 连接Mysql的命令:mysql -u name -p password -h serverIP -P port

SQL DML和DDL

可以把 SQL 分为两个部分:数据操作语言 (DML) 和 数据定义语言 (DDL)。
SQL (结构化查询语言)是用于执行查询的语法。但是 SQL 语言也包含用于更新、插入和删除记录的语法。
查询和更新指令构成了 SQL 的 DML 部分:

  • SELECT - 从数据库表中获取数据
  • UPDATE - 更新数据库表中的数据
  • DELETE - 从数据库表中删除数据
  • INSERT INTO - 向数据库表中插入数据
    SQL 的数据定义语言 (DDL) 部分使我们有能力创建或删除表格。我们也可以定义索引(键),规定表之间的链接,以及施加表间的约束。
    SQL 中最重要的 DDL 语句:
  • CREATE DATABASE - 创建新数据库
  • ALTER DATABASE - 修改数据库
  • CREATE TABLE - 创建新表
  • ALTER TABLE - 变更(改变)数据库表
  • DROP TABLE - 删除表
  • CREATE INDEX - 创建索引(搜索键)
  • DROP INDEX - 删除索引

检索数据

SELECT用于检索表数据。

  • 检索单列
    SELECT column_nane FROM table_name;
  • 检索多列
    SELECT column_nane1, column_name2 FROM table_name;
  • 检索所有列
    SELECT * FROM table_name;
    使用*通配符返回表中所有列,通常不建议使用通配符*,过多使用会降低检索和应用程序的性能。
  • 检索不同的行
    获取表中某列或多列的不同值,只要在SELECT后加上一个DISTINCT即可,语法如下:
    SELECT DISTINCT column_name FROM table_name;
    注意:DISTINCT关键应用于所有列,而不是前置它的列,如果给出SELECT DISTINCT column_name1, column_name2,除非两个指定的列都不同,否则所有的行都被检索出来。
  • 限制结果
    LIMIT字句可以限制SELECT语句返回的数据数量。
    LIMIT row_num:row_num表示行数,带一个值的LIMIT总是从第一行开始,返回row_num行
    LIMIT no_of_rows, row_num:no_of_rows表示行号,row_num表示行数,带两个值的LIMIT返回第no_of_rows行开始的row_num行
    LIMIT no_of_rows, row_num的替代语法为LIMIT row_num OFFSET no_of_rows,意为从行no_of_rows开始取row_num行。
    实例:
    SELECT prod_name 
    FROM products
    LIMIT 5;  // 返回前5行
    LIMIT 5,5;  // 返回从行5开始的5行
    LIMIT 4 OFFSET 3;  // 返回从第3行开始的4行。
    

注意:

  1. 检索出来的结果第一行为行0,因此,LIMIT1,1将检索出第二行
  2. 在行数不够时,LIMIT中指定要检索的函数为检索的最大行数,如果不够,返回它有的量。
  • 使用完全限定的表名
    有些情形需要完全限定的名:完全限定的列名或表名
    实例:
    SELECT products.prod_name
    FROM crashcourse.products;
    

补充:

  1. 每条mysql语句都以“;”结束
  2. SQL语句中的关键字不区分大小写,mysql中标识符(表名、列名等)默认不区分大小写,一般建议:SQL关键字使用大写,而对所有的列与表名使用小写。
  3. SQL语句中,空格都被忽略,一条语句可以分成多行,最后以分号结尾,这样利于阅读和调试。
    如:
    SELECT prod_id, prod_name, prod_price
    FROM products;
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值