私は毎回 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 tabled9c3f208c735dc19d50c4f24e2d3872edrop 8a1bac78e3fc78574522f4bb122559db[cascade| [restrict] --restrict は、列のビューと制約もセクター化します
---------------------------- -------------------- ------------------------------ -------------------- ------------------------------ --------------------
drop tableccc43248daffbac9770dee47fdaff697[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クエリステートメントは、簡単なクエリを使用するための基本的な集計関数も提供します:
カウント(*)------------------------------------------------------------------------------------------------------------------------------------------------------------------ - タプル番号、つまり合計列数を計算します
(dbbf19904bed3b90013ba2fcce963ac6)------ --値の列の合計(数値型)
avg (7e4c231d3e6439936fc86c1201581bb6で並べる ---- -- --------------Asc昇順、desc降順 ---------------------- - ------------------------------------------------- - ------------------------------------------------- - ----------------- 特別なクエリ要件: 1. 比較演算: 731221495c70ac245ce7f5323824b5f2,>=,!= 2. マッチング操作: %---0 個以上の文字で構成される文字に一致し、「_」は単一の文字に一致します 3. Null 値は Null です 4. 集約されたリソースの比較 : in 、some、any、all 5. セットが空でないかどうか: 終了 --- 空でない場合は true、それ以外の場合は false 6. 重複したタプルがあるかどうかセット: 一意 ---- ----true として繰り返し、それ以外の場合は false ---------------------------- -------- -------------------------------------- -------- -------------------------------------- -------- ------- 4. データ操作ステートメント 挿入: d9c3f208c735dc19d50c4f24e2d3872e (dbbf19904bed3b90013ba2fcce963ac6、dbbf19904bed3b90013ba2fcce963ac6) ..)values('Value', 'Value') 削除: d9c3f208c735dc19d50c4f24e2d3872e where 条件から削除 変更: d9c3f208c735dc19d50c4f24e2d3872e set 5. 埋め込み SQL の使用法よく使用される実行ビュー、ストアド プロシージャなどを実行するための exec を追加します。 [概要] 知識とは常にこのようなものであり、学習するたびに、特にそれを使用した後は、異なる結果が得られます。さまざまな方法の違いを比較してみます。データベース ビュー、ストアド プロシージャ、セキュリティ設定の次の比較検討を楽しみにしています。
上記は、MySQL SQL 基本ステートメントの大規模なコレクションの内容です。さらに関連する内容については、PHP 中国語 Web サイト (www.php.cn) に注目してください。