データベースシステムの原則(第IV章:SQLとリレーショナルデータベースの基本的な操作)

、SQLの概要

SQLは、(構造化照会言語、SQL)データベースは、言語と通信するように設計されて、それはユーザーがリレーショナルデータベースを操作することができます構造化照会言語です。

SQLの機能:

SQLは、特定のデータベース・ベンダー独自の言語ではありません。SQLは、習得が容易であり、SQLは強力で柔軟な、非常に複雑で高度なデータベース操作することができ

SQLの構成は次のとおりです。

  • データクエリ
  • データ定義言語(データ定義言語、DDL)
  • データ操作(DML)
  • 制御データ(DCL)

*******************データ定義言語**********************

データベースまたはデータベース・オブジェクトを作成します

変更するデータベースまたはデータベースオブジェクトを変更

DROPは、データベースまたはデータベースオブジェクトを削除します

************データ操作言語(データ操作言語、DML)***********

SELECTは、テーブルまたはビューからデータを取得します

テーブルまたはビューにデータを挿入

UPDATEは、テーブルまたはビュー内のデータを変更します

テーブルまたはビューから削除データを削除

***************データ制御言語(データ制御言語、DCL)****************

権限を付与するために使用さGRANT

REVOKEを回復する許可を

 

二、MySQLの予備知識

埋め込みと動的SQLルール:高レベル言語プログラミングに使用される指定方法SQL文の規定、より複雑なアプリケーションに対応するために

(柔軟性と実効性を高めるだけでなく、SQL言語を共有するSQLのより高度な機能を持っているために)SQLの呼び出し: SQLルーチンの呼び出し規則  

MySQLのベースを使用します:LAMPモード、WAMPモードL(Linux)のA(アパッチ) M(MySQLの)P(PHP、PerlやPython)

 

 

リレーショナルデータベース管理システム(RDBMS) 長所:小型、高速、オープンソース、GPL

MySQLの拡張言語要素

定数:また、リテラルまたはスカラー値として知られています 

  • 文字列定数:単一または二重引用符付きの文字列、ASCIIおよびUnicode文字列定数に文字列定数
  • 数値定数:整数定数、浮動小数点定数
  • 16進定数:進数字の各ペアは、文字に変換され、その前部文字「X」(または「X」)が存在します
  • 日付と時刻の定数:「2018年6月5日」:日付と時刻を表す単一引用符文字列は、例えば、同封構成しました
  • ビットフィールド値
  • ブール:TRUE:1; FALSE:0
  • NULL値

変数:

  • ユーザー変数:変数は、多くの場合、列名域を区別するために使用される@記号、前にユーザーを追加します
  • システム変数:他のSQL文で使用されるほとんどのシステム変数は、システム変数の前に2を追加する必要があります@

 

 

 表現式は、定数、変数、カラム名、複素数演算、演算子および関数の組み合わせです。

  • 文字式
  • 数値式
  • 日付型の式

 

 

 第三に、データ定義(DDL)

(CREATE)のデータベースを作成します:CREATE DATABASEのか、CREATE SCHEMAステートメントを使用して

CREATE { DATABASE  |  SCHEMA } [ NOTが存在する場合]  DB_NAME 
 [ DEFAULT ] CHARACTERの SET [ = ] charset_nameに
  | [ DEFAULT ] COLLATE [ = ] COLLATION_NAME

例句:DATABASE test_syの文字セット= "UTF8" COLLATION = "utf8_general_ci" を作成、データベースmysql_testを作成します。

  1. 文字セット(文字セット):文字エンコーディングと文字を定義します。
  2. 文字列(照合):照合指定された文字セット。

データベース(SHOW)をチェックしてください:データベース内のすべての表を参照してください

SHOW {DATABASES | SCHEMAS}
  [ LIKE'pattern」| WHERE式expr ]

キーワードが指定されたデータベースの名前を一致させるために使用されると同じように、句は、データベースクエリの範囲の名前を指定するために使用される条件

例句:SHOWデータベース。"%テスト%" LIKE SHOWデータベース。

SHOWのTABLES:表ビュー以外のシステムデータベース

 

:データベース(USE)を選択し、データベースの「ジャンプ」から別のデータベースへのUSE DB_NAMEを。

データベースを変更します。警告

MySQLの> ALTERの データベースmysql_test
  - >  DEFAULTの CHARACTERの SET GB2312
  - >  DEFAULT COLLATEのgb2312_chinese_ci。

データベースを削除します。

DROP { DATABASE | SCHEMA } [ 存在する場合] DB_NAME

例句:DROPデータベースハハハ。DROP DATABASE IFは、ハハハEXISTS。

*****************************テーブル定義******************* ***************

テーブルを作成します:リレーショナルデータベース内のデータテーブルは、データ・オブジェクトの最も重要で最も基本的な基本的な単位で、データが格納されています。

データテーブルは、各(行)のために、格納する(列)(行)によって設定されたフィールドとして定義され、フォーマットされたレコードを表し、(カラム)の各レコードのフィールドの値を表します。

CREATE [ TEMPORARY ] tbl_nameを
 フィールド名データ型1 [ カラムレベルの整合性制約] [ 初期値] 
 [ 、2フィールド名データ型[カラムレベルの整合性制約] [ 初期値] ]
  [ 、... ] 
 [ 、テーブル・レベルの整合性制約] [ ENGINTエンジンタイプ= ]

、「TEMPORARY」の付加は、一時テーブルでした

顧客の名前の顧客の基本情報内容を含むテーブルを作成し、性別、住所、既存のデータベースmysql_testに連絡先情報を、指定したテーブルの顧客ID番号を主キーの要件。

 

 

PRIMARY KEY(CUST_ID):主キーを指定

データの種類:

  • int型のint
  • ダブルフロート
  • ブールブール
  • Date型の日付
  • タイムスタンプタイムスタンプ
  • タイム・オブ・タイム固定長
  • 文字型char
  • 可変長文字varchar型

:表(ALTER)更新し、ALTER TABLE文を追加または削除列を、インデックスの作成や破壊、元の列のデータ型を変更、列またはテーブルの名前を変更し、テーブルのテーブルの解説やエンジンタイプを変更し、テーブルを再作成しますトリガ、ストアドプロシージャ、インデックスと外部キー。

1、列を追加 

例如:向数据库mysql_test的表customers中添加一列,并命名为 cust_city,要求其不能为NULL,默认值为字符串“Wuhan”,且该列位 于原表cust_sex列之后。

ALTER TABLE mysql_test.customers ->ADD COLUMN cust_city char(10)NOT NULL DEFAULT ‘Wuhan’ AFTER cust_sex;

2、CHANGE[COLUMN]子句 修改表中列的名称或数据类型

 

 3、ALTER[COLUMN]子句 修改或删除表中指定列的默认值

  ALTER TABLE mysql_test.customers ->ALTER COLUMN cust_city SET DEFAULT ‘Beijing’;

4、MODIFY[COLUMN]子句 只修改指定列的数据类型,不会干涉它的列名

  ALTER TABLE mysql_test.customers ->MODIFY COLUMN cust_name char(20) FIRST;

5、DROP[COLUMN]子句 删除表中多余的列

ALTER TABLE mysql_test.customers ->DROP COLUMN cust_contact;

6、RENAME[TO]子句 为表重新赋予一个表名

ALTER TABLE mysql_test.customers ->RENAME TO mysql_test.backup_customers;

给表重命名表的第二种写法:RENAME TABLE db_a.old_table TO db_b.new_table;

7、DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [ ,tbl_name ] … [RESTRICT | CASCADE]

 

查看表结构:

SHOW [FULL] COLUMNS {FROM | IN} tbl_name[{FROM | IN} db_name] [LIKE’pattern’ | WHERE expr]

例如:SHOW COLUMNS FROM t_role;

{DESCRIBE | DESC} tbl_name [col_name | wild]

例如:DESC t_role;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

数据更新

 

数据查询

 

 

视图

おすすめ

転載: www.cnblogs.com/jalja/p/11605648.html