search
HomeDatabaseMysql Tutorialmysql数据库常用的查询语句(单表查询)

1 使用select语句查询一个数据表 select* from 数据表名; 2 查询表中的一个字段或多个字段 select 字段1,字段2 from 数据表; 3 查询表中指定的数据信息 select* from数据表名order by id desc limit 2,1; //查询的数据按id倒序排序 4 查询指定路径 Select* f

  1   使用select语句查询一个数据表

              select* from 数据表名;

  2  查询表中的一个字段或多个字段

              select 字段1,字段2 from 数据表;

  3  查询表中指定的数据信息

              select* from数据表名order by id desc limit 2,1;  //查询的数据按id倒序排序


  4  查询指定路径

              Select* from 数据表 where 属性 = ‘…’;

  5  带IN 关键字的查询

              Select* from 数据表 where 字段 [NOT] IN (字段值1,字段值2…字段值n);


例如:

              mysql>select * from library where price in (99,50);

+----+--------------+--------+-------+

| id | name         | author |price |

+----+--------------+--------+-------+

|  1 | java范例大全 | 张帆  | 99    |

|  2 | mySQL        | 潘凯华 | 50    |

+----+--------------+--------+-------+

              mysql>select * from library where price NOT IN(99,50);

+----+---------------+--------+-------+

| id | name          | author| price |

+----+---------------+--------+-------+

|  3 | SQLserver2005 | 刘智勇 | 80    |

+----+---------------+--------+-------+

6 带BETWEEN and 的范围查询

select * from 数据表 where 字段 [NOT] BETWEEN 取值1 and 取值2;

例如:

       mysql> select * from country where idBETWEEN 2 and 4;

+----+----------+------------+------+----------+

| id | name     | population | area | language |

+----+----------+------------+------+----------+

|  2 | American | 489        | 60  | English  |

|  3 | Japan    | 89        | 30   | Jpanese  |

|  4 | England  | 2         | 300  | English  |

+----+----------+------------+------+----------+

3 rows in set(0.09 sec)


mysql> select* from country where id NOT BETWEEN 2 and 4;

+----+-------+------------+------+----------+

| id | name  | population | area | language |

+----+-------+------------+------+----------+

|  1 | china | 13         | 960 | chinese  |

+----+-------+------------+------+----------+

7  带like的字符匹配查询

(1)   select * from 数据表 where 属性 like '%SQL%';//查询属性中包含SQL字符的数据

(2)   select * from 数据表 where 属性 like 'a%b';// //查询属性中以a开头以b结尾的字符串的数据

(3)   select * from 数据表 where 属性 like 'm_n';//查询属性中以m开头以n结尾的3个字符的数据,中间的‘_’只能代表一个字符

例如:

mysql> select * from library where name like '%SQL%';

+----+---------------+--------+-------+

| id | name          | author| price |

+----+---------------+--------+-------+

|  2 | mySQL         | 潘凯华 | 50    |

|  3 | SQLserver2005 | 刘智勇 | 80    |

+----+---------------+--------+-------+

mysql> select * from library where name like 'myS_L';

+----+-------+--------+-------+

| id | name  | author | price|

+----+-------+--------+-------+

|  2 | mySQL | 潘凯华 | 50    |

+----+-------+--------+-------+

8  带AND的多条件查询

    mysql> select * from library whereprice=50 and name like 'myS_L';

+----+-------+--------+-------+

| id | name  | author | price |

+----+-------+--------+-------+

| 2 | mySQL | 潘凯华 | 50    |

+----+-------+--------+-------+

9  带OR的多条件查询

      mysql> select * from library where price=50or price=99;

+----+--------------+--------+-------+

| id | name         | author | price |

+----+--------------+--------+-------+

| 1 | java范例大全 | 张帆  | 99    |

| 2 | mySQL        | 潘凯华 | 50    |

+----+--------------+--------+-------

10 用DISTINCT关键字去除结果中的重复行

       例如:

         原表:mysql> select * from library;

+----+---------------+--------+-------+

| id | name          | author | price |

+----+---------------+--------+-------+

| 1 | java范例大全  | 张帆   | 99    |

| 2 | mySQL         | 潘凯华 | 50    |

| 3 | SQLserver2005 | 刘智勇 | 80    |

| 4 | mySQL         | 李慧  | 50    |

+----+---------------+--------+-------+

mysql> select distinct name fromlibrary;

+---------------+

| name          |

+---------------+

| java范例大全 |

| mySQL         |

| SQLserver2005 |

+---------------+

11 用ORDER BY 关键字对查询结果排序

         mysql> select * from library orderby id desc;//倒序排列

+----+---------------+--------+-------+

| id | name          | author | price |

+----+---------------+--------+-------+

| 4 | mySQL         | 李慧  | 50    |

| 3 | SQLserver2005 | 刘智勇 | 80    |

| 2 | mySQL         | 潘凯华 | 50    |

| 1 | java范例大全  | 张帆   | 99    |

+----+---------------+--------+-------+

         mysql> select * from library orderby id asc;//正序排列

+----+---------------+--------+-------+

| id | name          | author | price |

+----+---------------+--------+-------+

| 1 | java范例大全  | 张帆   | 99    |

| 2 | mySQL         | 潘凯华 | 50    |

| 3 | SQLserver2005 | 刘智勇 | 80    |

| 4 | mySQL         | 李慧  | 50    |

+----+---------------+--------+-------+

12  用GROUP BY关键字分组查询

(1)    用GROUP BY关键字分组查询

例如:mysql> select name,price from library GROUP BY price;

+---------------+-------+

| name          | price |

+---------------+-------+

| mySQL         | 50    |

| SQLserver2005 | 80    |

| java范例大全  | 99   |

+---------------+-------+

3 rows in set (0.00 sec)

 

mysql> select name,price from library GROUP BY name;

+---------------+-------+

| name          | price |

+---------------+-------+

| java范例大全  | 99   |

| mySQL         | 50    |

| SQLserver2005 | 80    |

+---------------+-------+

(2)    GROUP BY 关键字与 GROU_CONCAT函数一起使用

     mysql> selectname,GROUP_CONCAT(price) from library GROUP BY name;

+---------------+---------------------+

| name          |GROUP_CONCAT(price) |

+---------------+---------------------+

| java范例大全  | 99                  |

| mySQL         | 50,50               |

| SQLserver2005 | 80                 |

+---------------+---------------------+

(3)按多个字段进行分组

    mysql> selectid,name,price from library GROUP BY name,price;//当price字段的值相等时,再按照name字段分组

+----+---------------+-------+

| id |name          | price |

+----+---------------+-------+

|  1 | java范例大全  | 99    |

|  2 | mySQL         | 50   |

|  3 | SQLserver2005 | 80    |

+----+---------------+-------+

13  用LIMIT限制查询结果的数量

        mysql> select * from library orderby id asc limit 2,3; //取两条数据,正序,从第三条开始

+----+---------------+--------+-------+

| id | name          | author | price |

+----+---------------+--------+-------+

| 3 | SQLserver2005 | 刘智勇 | 80    |

| 4 | mySQL         | 李慧  | 50    |

+----+---------------+--------+-------+

2 rows in set (0.00 sec)

 

mysql> select * from libraryorder by id desc limit 2,3; //取两条数据,倒序,从倒数第三条结束,只显示倒数前两个

+----+--------------+--------+-------+

| id | name         | author | price |

+----+--------------+--------+-------+

| 2 | mySQL        | 潘凯华 | 50    |

| 1 | java范例大全 | 张帆  | 99    |

+----+--------------+--------+-------+



Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
MySQL String Types: Storage, Performance, and Best PracticesMySQL String Types: Storage, Performance, and Best PracticesMay 10, 2025 am 12:02 AM

MySQLstringtypesimpactstorageandperformanceasfollows:1)CHARisfixed-length,alwaysusingthesamestoragespace,whichcanbefasterbutlessspace-efficient.2)VARCHARisvariable-length,morespace-efficientbutpotentiallyslower.3)TEXTisforlargetext,storedoutsiderows,

Understanding MySQL String Types: VARCHAR, TEXT, CHAR, and MoreUnderstanding MySQL String Types: VARCHAR, TEXT, CHAR, and MoreMay 10, 2025 am 12:02 AM

MySQLstringtypesincludeVARCHAR,TEXT,CHAR,ENUM,andSET.1)VARCHARisversatileforvariable-lengthstringsuptoaspecifiedlimit.2)TEXTisidealforlargetextstoragewithoutadefinedlength.3)CHARisfixed-length,suitableforconsistentdatalikecodes.4)ENUMenforcesdatainte

What are the String Data Types in MySQL?What are the String Data Types in MySQL?May 10, 2025 am 12:01 AM

MySQLoffersvariousstringdatatypes:1)CHARforfixed-lengthstrings,2)VARCHARforvariable-lengthtext,3)BINARYandVARBINARYforbinarydata,4)BLOBandTEXTforlargedata,and5)ENUMandSETforcontrolledinput.Eachtypehasspecificusesandperformancecharacteristics,sochoose

How to Grant Permissions to New MySQL UsersHow to Grant Permissions to New MySQL UsersMay 09, 2025 am 12:16 AM

TograntpermissionstonewMySQLusers,followthesesteps:1)AccessMySQLasauserwithsufficientprivileges,2)CreateanewuserwiththeCREATEUSERcommand,3)UsetheGRANTcommandtospecifypermissionslikeSELECT,INSERT,UPDATE,orALLPRIVILEGESonspecificdatabasesortables,and4)

How to Add Users in MySQL: A Step-by-Step GuideHow to Add Users in MySQL: A Step-by-Step GuideMay 09, 2025 am 12:14 AM

ToaddusersinMySQLeffectivelyandsecurely,followthesesteps:1)UsetheCREATEUSERstatementtoaddanewuser,specifyingthehostandastrongpassword.2)GrantnecessaryprivilegesusingtheGRANTstatement,adheringtotheprincipleofleastprivilege.3)Implementsecuritymeasuresl

MySQL: Adding a new user with complex permissionsMySQL: Adding a new user with complex permissionsMay 09, 2025 am 12:09 AM

ToaddanewuserwithcomplexpermissionsinMySQL,followthesesteps:1)CreatetheuserwithCREATEUSER'newuser'@'localhost'IDENTIFIEDBY'password';.2)Grantreadaccesstoalltablesin'mydatabase'withGRANTSELECTONmydatabase.TO'newuser'@'localhost';.3)Grantwriteaccessto'

MySQL: String Data Types and CollationsMySQL: String Data Types and CollationsMay 09, 2025 am 12:08 AM

The string data types in MySQL include CHAR, VARCHAR, BINARY, VARBINARY, BLOB, and TEXT. The collations determine the comparison and sorting of strings. 1.CHAR is suitable for fixed-length strings, VARCHAR is suitable for variable-length strings. 2.BINARY and VARBINARY are used for binary data, and BLOB and TEXT are used for large object data. 3. Sorting rules such as utf8mb4_unicode_ci ignores upper and lower case and is suitable for user names; utf8mb4_bin is case sensitive and is suitable for fields that require precise comparison.

MySQL: What length should I use for VARCHARs?MySQL: What length should I use for VARCHARs?May 09, 2025 am 12:06 AM

The best MySQLVARCHAR column length selection should be based on data analysis, consider future growth, evaluate performance impacts, and character set requirements. 1) Analyze the data to determine typical lengths; 2) Reserve future expansion space; 3) Pay attention to the impact of large lengths on performance; 4) Consider the impact of character sets on storage. Through these steps, the efficiency and scalability of the database can be optimized.

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

VSCode Windows 64-bit Download

VSCode Windows 64-bit Download

A free and powerful IDE editor launched by Microsoft

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Integrate Eclipse with SAP NetWeaver application server.

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

MantisBT

MantisBT

Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.