MySQL SQL 基本ステートメントの大規模なコレクション

黄舟
リリース: 2017-02-28 13:51:13
オリジナル
1648 人が閲覧しました

私は毎回 SQL Sever を使って直接データベースを設計することに慣れていますが、SQL ステートメントにはあまり注意を払いません。今回のコンピュータ室連携版の再構築を機会に、SQL ステートメントを使用してデータベースを設計してみました。同時にSQL文の基本的な使い方も理解できました。

【分類】

SQL文には9種類あり、その機能分類により大きく4種類に分けられます。

1. クエリ文:select ---- 最も一般的データベース内で使用されるステートメント

2. データ定義: 作成、削除、変更----データベース、データテーブルおよびテーブル内のフィールドに対して実行される操作

3. データ操作: 挿入、更新、削除-- --特定のデータに対する伝説の「追加、削除、変更、確認」操作

4. データ制御: 権限の付与、取り消し----権限の定義と削除

【発言概要】

1データベースの作成

create database RechargeSystem
on primary    --主文件组
(
	/*数据文件的具体描述*/
	name='RechargeSystem_data',  --主数据文件的逻辑名称
	filename='G:\RechargeSystem\RechargeSystem_data.mdf',  --主数据文件的物理名称
	size=5mb,       --初始大小
	maxsize=100mb,  --增长最大值
	filegrowth=15%   --主数据文件增长率
)
log on
(
	/*日志文件的具体描述*/
	name='RechargeSystem_log',
	filename='G:\RechargeSystem\RechargeSystem_log.ldf',
	size=2mb,
	filegrowth=1mb
)
ログイン後にコピー

オペレーティング システムを学習している場合は、これらの定義ステートメントにあまり馴染みがないでしょう。データベース グループ ファイルもファイルの一種であり、論理名 (つまり、ファイル) が必要です。名前) と物理名 (実際にディスクに保存されているアドレス)、ファイル サイズなど。利点と欠点などの詳細については、Baidu 百科事典: ログ ファイル

を参照してください。

2. 基本的なテーブル操作

--------------------------------------------------------------------------------------------------------------------------------------------
       create table <基本表名>   ---建立表格
               (<列名 类型 not null>,
                 primary key(列名,列名),--主键约束
                 foreign key (<列名>) references tableName(<列名>),--外键约束);
--------------------------------------------------------------------------------------------------------------------------------------------
      alter table <表名> add <列名><数据类型>  --添加列
ログイン後にコピー

確立されたテーブルのプライマリ外部キーを設定できます:

  alter table <表名> add primary key(<列名>,<列名>)
      alter table<表名> add foreign key(<列名>) references tableName(<列名>)
ログイン後にコピー

カラムの削除: alter table<テーブル名>drop <カラム名>[cascade| [restrict] --restrict は、列のビューと制約もセクター化します

---------------------------- -------------------- ------------------------------ -------------------- ------------------------------ --------------------

drop table

[cascade|restrict] -- 制約がある場合は、テーブルを削除します。

3. クエリ ステートメント:

従来のクエリ ステートメントは次のとおりです: select * from datatable

この組み合わせ関係は、複数のテーブルからクエリされることに注意してください。 M:N の関係で対応する関係を見つけます。

 select TB1.column1,TB1.column2
                from TB1
                where TB1.column1 in(select column1
                                                         from TB2
                                                        where TB2.column2="特定值");
ログイン後にコピー

この関係は、ロジックが複雑なユーザーには推奨されず、特に検索エラーが発生しやすくなります。

---------------------------------------------- --- --------------------------------------------------- --- --------------------------------------------------- ---

SQLクエリステートメントは、簡単なクエリを使用するための基本的な集計関数も提供します:

カウント(*)------------------------------------------------------------------------------------------------------------------------------------------------------------------ - タプル番号、つまり合計列数を計算します

(<列名>)------ --値の列の合計(数値型)

avg (<最大値>) ---------------平均(数値である必要があります)

max (<列名>)------------- ---最大値

min(<列名>)---------- ------------最小値

例: T_studentからselect count (distinct s#)、distinctを追加した後、複数の生徒番号が繰り返し出現する場合、1つとしてのみ計算できます

------------------------------------------------------ ------------------------ ------------------------ ------------------------ ------------------

完全な意味構造:

& SELECT & lt; 列名または式シーケンス & gt; テーブル名またはビュー シーケンス & gt; & lt; 行式 & gt; ; ----------------------------------特定のフィールドに基づいたグループ

- ---- ----------------グループ条件を満たさない情報は除外されます

<列名[asc|desc]>で並べる ---- -- --------------Asc昇順、desc降順

---------------------- - ------------------------------------------------- - ------------------------------------------------- - -----------------

特別なクエリ要件:

1. 比較演算: <,<=,>,>=,!=

2. マッチング操作: %---0 個以上の文字で構成される文字に一致し、「_」は単一の文字に一致します

3. Null 値は Null です

4. 集約されたリソースの比較 : in 、some、any、all

5. セットが空でないかどうか: 終了 --- 空でない場合は true、それ以外の場合は false

6. 重複したタプルがあるかどうかセット: 一意 ---- ----true として繰り返し、それ以外の場合は false

---------------------------- -------- -------------------------------------- -------- -------------------------------------- -------- -------

4. データ操作ステートメント

挿入: <テーブル名> (<列名>、<列名>) ..)values('Value', 'Value')

削除: <テーブル名> where 条件から削除

変更: <テーブル名> set

5. 埋め込み SQL の使用法よく使用される実行ビュー、ストアド プロシージャなどを実行するための exec を追加します。

[概要]

知識とは常にこのようなものであり、学習するたびに、特にそれを使用した後は、異なる結果が得られます。さまざまな方法の違いを比較してみます。データベース ビュー、ストアド プロシージャ、セキュリティ設定の次の比較検討を楽しみにしています。

上記は、MySQL SQL 基本ステートメントの大規模なコレクションの内容です。さらに関連する内容については、PHP 中国語 Web サイト (www.php.cn) に注目してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!