ディレクトリ
まず、データベースの基本的な操作
第二に、データベース列のタイプ
第三に、データベースの種類
第四に、手術台
五、CRUD
まず、データベースの基本的な操作
図1は、すべてのデータベースを見ます
データベースを表示します。
図2に示すように、データベースに
データベース名を使用します。
3、データベースを削除
データベース名[IFは(不在が与えられていない、警告)が存在する]データベースをドロップします。
4、テーブル(前提:データベースへのアクセス)を参照してください
記述テーブル[(不在与えられていない、警告)が存在していない場合]を、
データベースを作成します。5.
データベースを作成するデータベース名[存在しない場合は]を。
第二に、データベース列のタイプ
1、値
-
int型データストレージ基準の4つのバイト
-
大規模なデータストレージBIGINT 8バイト
-
10進浮動小数点数の文字列(財務計算、データ感受性産業)
-
TINYINT非常に小さなデータの1バイト
-
SMALLINT 2は、より小さなデータバイト
-
3バイトのMEDIUMINT中規模データ
-
フロートフロート4バイト
-
倍精度浮動小数点数8バイト
2、文字列
- 変数の文字列はvarchar 0〜65535文字列(ジャワ)
- 大きなファイルの保存テキストテキスト文字列2 ^ 16-1
- 0〜255の固定サイズの文字列
- 2 ^ 8-1 TINYTEXTマイクロテキスト
3、日付と時刻
- 日時YYY-MM-DD HH:mm:ssの形式で最も一般的に使用される時間
- 現在のタイムスタンプ(ミリ秒)に1970年1月1日のタイムスタンプ
- データYYY-MM-DD、日付フォーマット
- 時間HH:MM:SS、時刻形式
- 年間の年
4、ヌル
- 意味がない、一般的にフックデフォルトは通常nullの場合、空ではありませんありません
第三に、データベースの種類
1、MYISAM和INNODB
MYISAM | INNODB | |
---|---|---|
業務 | サポートしていません。 | サポート |
データロー | サポートしていません。 | サポート |
外部キー制約 | サポートしていません。 | サポート |
フルテキストインデックス | サポート | サポートしていません。 |
表スペースのサイズ | 小さな | 約2倍MYISAM |
違い | スペース、高速、省 | 高セキュリティ、トランザクション処理のサポート、マルチテーブルマルチユーザー操作 |
第四に、手術台
1、テーブル名を変更
新しいテーブル名と旧ALTER TABLEテーブル名のリネーム
図2に示すように、テーブルのフィールドを増加させます
ALTER TABLEフィールドは] [ランクの属性テーブルを追加します
3、制約を変更
ALTER TABLE MODIFYフィールド]は、[属性テーブルをランク付けし
4、フィールド名の変更
新しいフィールドの属性間のALTER TABLEテーブル名の変更古いフィールド名を[]
制約修飾フィールド名の変更と5、
制約を変更します。 | フィールドの名前を変更します |
---|---|
カラムプロパティは、VARCHARにintなどのフィールドのフィールド名を変更テーブル制約(制約のみ変更)を変更します | 、名前フィールドを変更して列のプロパティにも制約を変更することができなければならない(あなたは名前と制約を変更することができます) |
6、削除テーブルのフィールド
ALTER TABLEテーブル名ドロップフィールド名
7、テーブルを削除
[存在する場合]テーブルを削除表名
8、外部キー(クール)
アプリケーション層で現在一般的なコードを書くために使用されます
ALTER TABLEは
表名
、制約の追加fk_外键字段
、外部キー(外键字段
)参照を外链表
(外键字段
)
あなたは、最初のシートのリスト缶のリンクを削除する必要があります
五、CRUD
1、(DML言語)(フィールドの値が対応しなければならない)データを増加させます
単一行の増加: 一方向のデータを高めるために
構文:テーブルへの挿入(フィールド1、フィールド2、フィールド3、...)の値( '値1'、 '値2'、 '値3'、...)。
例:人(ID、名前、性別)の値への挿入( '1'、 'ジョン・ドウ'、 'M 1');
行増加複数: 行増加複数のデータの偶数二列(離隔1行目と2行目と、その他など)
構文:テーブルへの挿入(フィールド1、フィールド2、フィールド3、...)の値( '値1'、 '値2'、 '値3')、( '値1'、 '値2'、「値3 「);
例:人(ID、名前、性別)の値( '1'、 'ジョン・ドウ'、 '1')、( '2'、 'ジョン・ドウ'、1「)への挿入。
2、(分離し、データ変更の複数の)データを変更(DML言語)
フォーマット:更新テーブル名=新しいカラムセットの値の名前[名前=新しい値列]列名=値[し、カラム名=値]。
- 後でデータセットは、カラム(コンマで区切られた修飾された複数のデータ)を変更する必要があります。
- これは、ラインを変更する必要をロックする(条件演算子を使用してもよい)、(満たすかするだけで、複数の条件付き満たされると)バック状態です。
操作演算子:
演算子 | 意味 | 例 | 結果 |
---|---|---|---|
= | 等しいです | 1 = 2 | 偽 |
<>または!= | 等しくありません | 1!= 2 | 真 |
> | より大きい | 1> 2 | 偽 |
< | 以下 | 1 <2 | 真 |
<= | より小さいか等しいです | 1 <= 2 | 真 |
> = | より大きいか等しいです | 1> = 2 | 偽 |
間...と... | 一定の範囲内 | 1と2との間のID。 | IDの[2]内に満たされます |
そして | &&としなければならないの両方を満たします | ID = 1 &&ユーザー名= 'ジョン・ドウ' | どちらも、真のリターンを満たすために |
若しくは | ||または満たすaにのみ必要 | ID = 2 ||ユーザー名= 'ジョン・ドウ' | 同様に、真の満足リターン限り |
★すべてのデータの列のすべての変更がある場合は百万、百万が変化することそれ以外の場合は、条件を追加してください。
例:更新student_userセット年齢= 18、ID = 3。
例:更新student_userセット年齢= 18、ID = 3とユーザ名= '' 小琦 '。
間違ったデモンストレーション:
3、削除データ(DML言語)
1.delete
構文:テーブルから削除どこ条件; (あなたが条件を追加することはできませんが、すべてのデータを空にします、プラスの条件が指定された列を削除します)
例:ID = 1 student_userから削除します。
2.truncate (空のデータベーステーブル構造に専用の制約インデックスが変更されません)
構文:切り捨てテーブル名;
差分3.deleteを切り捨てます
削除 | TRUNCATE | |
---|---|---|
同じポイント | データはテーブル構造を削除せずに削除することができます | データはテーブル構造を削除せずに削除することができます |
異なる点 | クリアされないインクリメントデータの計算、 | あなたは、もう一度最初から、増分データカウンタがクリアされていることを確認することができます |
これは、トランザクションに影響を与えます | これは、トランザクションには影響しません |
4.deleteは、データベースを再起動し、削除しました
- INNODBエンジン:1からインクリメント再起動(メモリ、停電に格納され、失われました)。
- MYISAMエンジン:1で開始し、最初から自己増分を継続していない(ファイルに保存されている理由は、停電で失われることはありません)。
4、クエリデータ(DQL、フォーカス)
DQL(データクエリー言語):データのクエリ言語。
- すべてのクエリは、selectを使用しています
- シンプルで複雑なクエリをすべて行うことができます
- 最も重要な言語データベース
- クエリを使用して、時間の90%をプロジェクト
単一テーブルのクエリ:SELECT * FROMテーブルから(*クエリすべての列が、あなたはまた、指定された列を確認することができますことを示す)ここで、[条件];
例:選択したユーザ名、ID = 3 passwrodフォームstudent_userと、
列データエイリアスを与えることができるので(キーワードとして使用):
マルチテーブルクエリ:SELECT * FROM表1、表2から、(すべての列のクエリを表す*は、クエリが列を指定してもよい)ここで、[条件]。
例:選択したユーザー名、passwrodフォームstudent_user、ID = 3人を。
(キーワードとして使用される)の別名からテーブル名と列データを与えることができます:
MySQLのSELECTクエリを:https://blog.csdn.net/sabstarb/article/details/105080290