MySQL(基础篇)之单表查询

Jun 07, 2016 pm 03:03 PM
create mysql ベース データ お問い合わせ 構造

一:表的结构和数据 CREATE TABLE `t_student` ( `id` INT PRIMARY KEY , `stuName` VARCHAR (10) NOT NULL, `age` INT NOT NULL , `sex` VARCHAR (4) , `gradeName` VARCHAR (10) NOT NULL ); INSERT INTO `t_student` (`id`, `stuName`, `age`, `sex`, `gra



一:表的结构和数据

CREATE TABLE `t_student` (

`id` INT PRIMARY KEY ,

`stuName` VARCHAR (10) NOT NULL,

`age` INT NOT NULL ,

`sex` VARCHAR (4) ,

`gradeName` VARCHAR (10) NOT NULL

);

 

INSERT INTO `t_student` (`id`, `stuName`, `age`, `sex`, `gradeName`) VALUES('1','张三',23,'男','一年级'),('2','张三丰',25,'男','二年级'),('3','李四',23,'男','一年级'),

('4','王五',22,'男','三年级'),('5','珍妮',21,'女','一年级'),('6','李娜',26,'女','二年级'),('7','王峰',20,'男','三年级'),('8','黄志浩',21,'男','二年级'),

('9','杨磊',22,'男','一年级'),('10','邹涛',25,'男','二年级'),('11','鲍文杰',21,NULL,'二年级'),('12','朱云芬',23,'男','二年级'),('13','朱云峰','24',NULL,'二年级');

 

这是我为大家练习准备的数据,下面正式开始单表查询.

 

二:单表查询

2.1 查询所有字段

1.       Select 字段1,字段2,字段3……From 表名;

例:SELECT id,stuName,age,sex,gradeName FROM t_student;

2.       Select * from 表名;

例:SELECT * FROM t_student;

两者区别:  前者可以通过改变查询字段的顺序来调整查询结果显示的顺序.

2.2 查询指定字段

Select 字段1,字段2,字段3……From 表名;

例:/*查询t_student表的所有age,sex,gradeName字段*/

SELECT age,sex,gradeName FROM t_student;

 

 

2.3 Where条件查询

1.       Select 字段1,字段2,字段3……From 表名 Where 条件表达式;

例: 查询编号为1的学生

SELECT * FROM t_student WHERE id =1;

 

例: 查询年龄大于22的学生

SELECT * FROM t_student WHERE age>22;

 

例: 查询性别为男的学生

SELECT * FROM t_student WHERE sex='男';

2.4 带IN关键字查询

1.       Select 字段1,字段2,字段3……From 表名 Where 条件表达式 [NOT] IN(元素1,元素2,元素3);

例: 查询年龄为22或者23的学生记录

SELECT * FROM t_student WHERE age IN (22,23);

 

例: 查询编号不为1和9的学生记录

SELECT * FROM t_student WHERE id NOT IN(1,9);

 

2.5 带BETWEEN的范围查询

1.       Select 字段1,字段2,字段3……From 表名 Where 条件表达式 [NOT] BETWEEN 数值1 AND 数值2;

例: 查询编号为1-9的学生记录

SELECT * FROM t_student WHERE id BETWEEN 1 AND 9;

 

例: 查询年龄小于22大于25的学生记录

SELECT * FROM t_student WHERE age NOT BETWEEN 22 AND 25;

 

2.6 带Like的模糊查询

Select 字段1,字段2,字段3……From 表名 Where 条件表达式 [NOT] Like ‘字符串’;

‘%’: 代表任意字符,可以有或者没有

‘_’: 代表单个字符,必须要有

 

例: 查询姓名中包含张的学生记录

SELECT * FROM t_student WHERE stuName LIKE '%张%';

 

例: 查询姓名中第一个字为张的学生记录

SELECT * FROM t_student WHERE stuName LIKE '张%';

 

例: 查询姓名中第一个字为张,并且姓名只有2个字的学生记录

SELECT * FROM t_student WHERE stuName LIKE '张_';

2.7 空值查询

Select 字段1,字段2,字段3……From 表名 Where 条件表达式 IS[NOT] NULL;

例: 查询性别为null的学生记录

SELECT * FROM t_student WHERE sex IS NULL;

 

例: 查询性别不为null的学生记录

SELECT * FROM t_student WHERE sex IS NOT NULL;

2.8     带AND的多条件查询

Select 字段1,字段2,字段3……From 表名 Where 条件表达式1 AND 条件表达式2[...AND 条件表达式N];

例: 查询一年级中性别为男的学生记录

SELECT * FROM t_student WHERE gradeName='一年级' AND sex='男';

 

例: 查询二年级中年龄为22-24的学生记录

SELECT * FROM t_student WHERE gradeName='二年级' AND age BETWEEN 22 AND 24;

 

2.9 带OR的多条件查询

Select 字段1,字段2,字段3……From 表名 Where 条件表达式1 OR 条件表达式2[...OR 条件表达式N];

例: 查询年级为一年级或者年龄为23的学生记录

SELECT * FROM t_student WHERE gradeName='一年级' OR age=23;

 

2.10  DISTINCT去重复查询

Select Distinct 字段名 From 表名;

例子: 查询学生表所有的年级

SELECT DISTINCT gradeName FROM t_student ;

不加DISTINCT会有很多重复记录

 

2.11对查询结果进行排序

Select 字段1,字段2,字段3……From 表名ORDER BY 属性名 [ASC|DESC]

例: 查询所有学生记录并按年龄降序排序

SELECT * FROM t_student ORDER BY age DESC;

 

2.12 GROUP BY 分组查询

Select 字段1,字段2,字段3……From 表名 GROUP BY属性名;[HAVING 条件表达式][WITH ROLLUP];

1.       单独使用(毫无意义);

2.       与GROUP_CONCAT()函数一起使用;

3.       与聚合函数一起使用;

4.       与HAVING一起使用(对查询结果的筛选);

5.       与WITH ROLLUP一起使用(最后加入一个总和行);

例: 查询每个年级的所有学生姓名

SELECT gradeName,GROUP_CONCAT(stuName) FROM t_student GROUP BY gradeName;

 

例: 查询每个年级的学生个数

SELECT COUNT(stuName) AS '学生数量',gradeName AS '年级' FROM t_student GROUP BY gradeName;

 

例: 查询每个年级的学生个数并且选出学生数量大于3的年级

SELECT COUNT(stuName) AS '学生数量',gradeName AS '年级' FROM t_student GROUP BY gradeName HAVING COUNT(stuName)>3;

 

例: 查询每个年级的学生个数并在末尾加入一个总和行

SELECT COUNT(stuName) AS '学生数量',gradeName AS '年级' FROM t_student GROUP BY gradeName WITH ROLLUP;

 

2.13 LIMIT 分页查询

Select 字段1,字段2,字段3……From 表名 LIMIT 初始位置,记录数;

例: 查询所有学生记录的前5条记录

SELECT * FROM t_student LIMIT 0,5;

 

三:总结

单表查询就到此结束,大家要多多练习,谢谢大家,下期为大家带来聚合函数的使用.MySQL(基础篇)之单表查询

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Laravelは紹介例 Laravelは紹介例 Apr 18, 2025 pm 12:45 PM

Laravelは、Webアプリケーションを簡単に構築するためのPHPフレームワークです。次のような強力な機能を提供します。インストール:Laravel CLIを作曲家にグローバルにインストールし、プロジェクトディレクトリにアプリケーションを作成します。ルーティング:ルート/web.phpのURLとハンドラーの関係を定義します。ビュー:リソース/ビューでビューを作成して、アプリケーションのインターフェイスをレンダリングします。データベース統合:MySQLなどのデータベースとのすぐ外側の統合を提供し、移行を使用してテーブルを作成および変更します。モデルとコントローラー:モデルはデータベースエンティティを表し、コントローラーはHTTP要求を処理します。

MySQLおよびPHPMYADMIN:コア機能と関数 MySQLおよびPHPMYADMIN:コア機能と関数 Apr 22, 2025 am 12:12 AM

MySQLとPHPMyAdminは、強力なデータベース管理ツールです。 1)MySQLは、データベースとテーブルを作成し、DMLおよびSQLクエリを実行するために使用されます。 2)PHPMyAdminは、データベース管理、テーブル構造管理、データ操作、ユーザー許可管理のための直感的なインターフェイスを提供します。

MySQL対その他のプログラミング言語:比較 MySQL対その他のプログラミング言語:比較 Apr 19, 2025 am 12:22 AM

他のプログラミング言語と比較して、MySQLは主にデータの保存と管理に使用されますが、Python、Java、Cなどの他の言語は論理処理とアプリケーション開発に使用されます。 MySQLは、データ管理のニーズに適した高性能、スケーラビリティ、およびクロスプラットフォームサポートで知られていますが、他の言語は、データ分析、エンタープライズアプリケーション、システムプログラミングなどのそれぞれの分野で利点があります。

Laravel Frameworkインストール方法 Laravel Frameworkインストール方法 Apr 18, 2025 pm 12:54 PM

記事の概要:この記事では、Laravelフレームワークを簡単にインストールする方法について読者をガイドするための詳細なステップバイステップの指示を提供します。 Laravelは、Webアプリケーションの開発プロセスを高速化する強力なPHPフレームワークです。このチュートリアルは、システム要件からデータベースの構成とルーティングの設定までのインストールプロセスをカバーしています。これらの手順に従うことにより、読者はLaravelプロジェクトのための強固な基盤を迅速かつ効率的に築くことができます。

MySQLの外国キーの目的を説明してください。 MySQLの外国キーの目的を説明してください。 Apr 25, 2025 am 12:17 AM

MySQLでは、外部キーの機能は、テーブル間の関係を確立し、データの一貫性と整合性を確保することです。外部キーは、参照整合性チェックとカスケード操作を通じてデータの有効性を維持します。パフォーマンスの最適化に注意し、それらを使用するときに一般的なエラーを避けてください。

mysqlとmariadbを比較対照します。 mysqlとmariadbを比較対照します。 Apr 26, 2025 am 12:08 AM

MySQLとMariaDBの主な違いは、パフォーマンス、機能、ライセンスです。1。MySQLはOracleによって開発され、Mariadbはフォークです。 2. Mariadbは、高負荷環境でパフォーマンスを向上させる可能性があります。 3.MariaDBは、より多くのストレージエンジンと機能を提供します。 4.MySQLは二重ライセンスを採用し、MariaDBは完全にオープンソースです。既存のインフラストラクチャ、パフォーマンス要件、機能要件、およびライセンスコストを選択する際に考慮する必要があります。

SQL対MySQL:2つの関係を明確にします SQL対MySQL:2つの関係を明確にします Apr 24, 2025 am 12:02 AM

SQLはリレーショナルデータベースを管理するための標準言語であり、MySQLはSQLを使用するデータベース管理システムです。 SQLは、CRUD操作を含むデータベースと対話する方法を定義しますが、MySQLはSQL標準を実装し、ストアドプロシージャやトリガーなどの追加機能を提供します。

YIフレームワークに適したソフトウェアは何ですか? YIフレームワーク用の推奨ソフトウェア YIフレームワークに適したソフトウェアは何ですか? YIフレームワーク用の推奨ソフトウェア Apr 18, 2025 pm 11:03 PM

記事の最初の段落の要約:YIフレームワークアプリケーションを開発するソフトウェアを選択する場合、複数の要因を考慮する必要があります。 XcodeやAndroid Studioなどのネイティブモバイルアプリケーション開発ツールは、強力な制御と柔軟性を提供できますが、Reactネイティブやフラッターなどのクロスプラットフォームフレームワークは、一度に複数のプラットフォームに展開できる利点にますます人気が高まっています。モバイル開発を新しい開発者向けに、AppsheetやGlideなどの低コードまたはノーコードプラットフォームは、アプリケーションをすばやく簡単に構築できます。さらに、AWS AmplifyやFirebaseなどのクラウドサービスプロバイダーは包括的なツールを提供します

See all articles