記事のディレクトリ
1つは、データベースの基本概念です。
1.データベースの構成
-
データ:
数字、テキスト、グラフィック、画像、音声、ファイルレコードなどを説明するシンボルレコード
は、「レコード」の形式で統一された形式で保存されます。 -
表:特定のデータを保存するためにさまざまなレコードをまとめる
-
データベース:テーブルのコレクション、
データを格納するためのウェアハウス、特定の組織的な方法で格納された関連データのコレクション
2.データベース管理システム(DBMS)
- データベースの確立と保守機能、データ定義機能、データ操作機能、データベース運用管理機能、通信機能など、データベースリソースの効果的な編成、管理、アクセスを実現するシステムソフトウェア機能です
。
3.データベースシステム(DBS)
- これは、ハードウェア、OS、データベース、DBMS、アプリケーションソフトウェア、およびデータベースユーザーで構成されるマンマシンシステムです。
- ユーザーはDBMSまたはアプリケーションを介してデータベースを操作できます
2.今日の主流のデータベース
SQL Server(Microsoft Corporationの製品)
- Windowsオペレーティングシステムの場合
- シンプルで使いやすい
Oracle(Oracle Corporationの製品)
- すべての主要なプラットフォーム用
- 安全、完璧、複雑な操作
DB2(IBMの製品)
- すべての主要なプラットフォーム用
- 大きく、安全で完全
MySQL(Oracleが取得)
- 無料、オープンソース、小さいサイズ
3.リレーショナルデータベースの紹介
1.リレーショナルデータベースシステムは、リレーショナルモデルに基づくデータベースシステムです。
2.リレーショナルモデルのデータ構造は、シンプルで理解しやすい2次元データテーブルを使用しています
- 各行はレコードと呼ばれ、オブジェクトの情報を説明するために使用されます
- 各行はフィールドと呼ばれ、オブジェクトの属性を説明するために使用されます
3.リレーショナルモデルは単純にすることができます」実体関連属性"表現します
1.エンティティ
- インスタンスとも呼ばれ、
銀行の顧客や銀行口座など、現実の世界の他のオブジェクトと区別できる「イベント」または「モノ」に対応します。
2.関係
- エンティティセット間の対応する関係は接続と呼ばれ、関係とも呼ばれます。たとえば
、銀行の顧客と銀行口座の間には「貯蓄」関係があります。
3.プロパティ
- エンティティには特定の特性があり、エンティティは複数の属性を持つことができます。たとえば
、「銀行の顧客」エンティティセットの各エンティティには、名前、住所、電話番号などの属性があります。
第四に、非リレーショナルデータベースの導入
非リレーショナルデータベースは、NoSQL(SQLだけでなく)とも呼ばれます。
- 保存されたデータはリレーショナルモデルに基づいておらず、固定のテーブル形式を必要としません
非リレーショナルデータベースの利点
- データベースは、高い同時実行で読み取りおよび書き込みが可能です
- 効率的なストレージと大量のデータへのアクセス
- データベースは高いスケーラビリティと高可用性を備えています
5、MySQLデータベースの紹介
オラクルが所有する人気のあるオープンソースのリレーショナルデータベース製品
。GPL契約に準拠しており、無料で使用および変更できます。
機能
- 優れたパフォーマンスと安定したサービス
- オープンソース、著作権制限なし、低コスト
- マルチスレッド、マルチユーザー
- C / S(クライアント/サーバー)アーキテクチャに基づく
- 安全で信頼できる
6、MySQLをコンパイルしてインストールします
1.ソフトウェアパッケージ
インストールパッケージを/ optディレクトリにドラッグし、スクリプトファイルを編集し、次のコンテンツをコピーして、スクリプトをソースまたは実行します。スクリプトの実行後、mysql -u root -pを使用し、Enterキーを押して入力します。 。
シェルスクリプトワンクリックデプロイメント-ソースコードはMySQLをコンパイルしてインストールします
7、MySQLデータベースの基本的なコマンド操作
一般的に使用されるデータ型
int | 整数 |
---|---|
浮く | 単精度浮動小数点4バイト32ビット |
ダブル | 倍精度浮動小数点8バイト64ビット |
char | 固定長文字タイプ |
varchar | 可変長文字タイプ |
テキスト | テキスト |
画像 | 画像 |
10進数(5,2) | 小数点以下2桁の有効長5桁 |
charの場合、格納できる最大文字数は255文字です。charに格納されているデータの実際の長さが指定された長さより短い場合、指定された長さにスペースが追加されます。格納されているデータの実際の長さが長い場合指定された長さよりも低いバージョンはインターセプトされます。バージョンはエラーを報告します。
charの長さは不変ですが、varcharの長さは可変です。つまり、char [10]とvarchar [10]を定義します。これが「csdn」に格納されている場合、charが占める長さは10のままです。 、文字「csdn」に加えて、6つのスペースが続き、varcharはすぐに長さを4に変更しました
Varcharストレージルール:
バージョン4.0より前では、varchar(20)は20バイトを参照します。UTF8漢字が格納されている
場合、バージョン5.0より上では6(漢字あたり3バイト)のみが格納されます。数字、文字、UTF8漢字(各漢字は3バイト)のいずれであっても、20を格納できます。最大サイズは65532バイトです。
データベース構造を表示する
1.現在のサーバーのデータベースを表示します
SHOW DATABASES; #大小写不区分,分号“;”表示结束
2.2。データベースに含まれているテーブルを表示する
USE 数据库名;
SHOW TABLES;
3.3。テーブルの構造を表示する(フィールド)
USE 数据库名;
DESCRIBE [数据库名.]表名;
可缩写成:DESC 表名;
SQLステートメント
SQLステートメントは、データクエリ、データ更新、アクセス制御、オブジェクト管理などの機能を含むデータベースを維持および管理するために使用されます。
SQL言語分類:
DDL | ライブラリ、テーブル、インデックスなどのデータベースオブジェクトを作成するために使用されるデータ定義言語。 |
---|---|
DML | テーブル内のデータを管理するために使用されるデータ操作言語 |
DQL | データクエリ言語。データテーブルから条件を満たすデータレコードを検索するために使用されます |
DCL | データベースのユーザーまたはロールの権限を設定または変更するために使用されるデータ制御言語 |
1.新しいデータベースを作成します
CREATE DATABASE 数据库名;
2.2。新しいテーブルを作成する
CREATE TABLE 表名 (字段1 数据类型,字段2 数据类型[,...][,PRIMARY KEY (主键名)]);
#Primary key一般に、一意性を表すことができ、NULL値を許可しないフィールドを選択します。テーブルに含めることができる主キーは1つだけです。
例:create database SCHOOL;
use SCHOOL;
create table CLASS1 (id int not null,name char(10) not null,sex char(1),primary key (id));
3.指定したデータテーブルを削除します
DROP TABLE [数据库名.]表名; #如不用USE进入库中,则需加上数据库名
4.4。指定されたデータベースを削除します
DROP DATABASE 数据库名;
例:show databases;
drop table SCHOOL.CLASS1;
use SCHOOL;
show tables;
drop database SCHOOL;
show databases;
管理テーブルのデータレコード
1.新しいデータレコードをデータテーブルに挿入します
INSERT INTO 表名(字段1,字段2[,...]) VALUES(字段1的值,字段2的值,...);
例:create database SCHOOL;
use SCHOOL;
create table CLASS2 (id int not null,name char(20) not null,sex char(1) not null,primary key (id));
insert into CLASS2 (id,name,sex) values(1,'zhangsan','男');
2.データレコードをクエリします
SELECT 字段名1,字段名2[,...] FROM 表名 [WHERE 条件表达式];
例:select * from CLASS2;
select name,sex from CLASS2 where id=1;
3.データテーブルのデータレコードを変更および更新します
UPDATE 表名 SET 字段名1=字段值1[,字段名2=字段值2] [WHERE 条件表达式];
例:insert into CLASS2 (id,name,sex) values(2,'lisi','女');
insert into CLASS2 (id,name,sex) values(3,'wangwu','男');
select * from CLASS2;
update CLASS2 set id=4 where name='zhangsan';
select * from CLASS2;
update CLASS2 set name='sicong',sex='男' where id=2;
select * from CLASS2;
4.データテーブル内の指定されたデータレコードを削除します
DELETE FROM 表名 [WHERE 条件表达式];
例:delete from CLASS2 where id=4;
select * from CLASS2;
テーブル名とテーブル構造を変更します
1.テーブル名を変更します
ALTER TABLE 旧表名 RENAME 新表名;
例:alter table CLASS2 rename CLASS3;
show tables;
select * from CLASS3;
2.テーブル構造を展開します(フィールドを追加します)
ALTER TABLE 表名 ADD address varchar(50) default '地址不详';
#default 'アドレス不明':このフィールドのデフォルト値が不明なアドレスに設定されていることを示します。NOTNULLと組み合わせて使用できます。
例:alter table CLASS3 add address varchar(50) default '地址不详';
3.フィールド(列)名を変更し、一意のキーを追加します
ALTER TABLE 表名 CHANGE 旧列名 新列名 数据类型 [unique key];
例:alter table CLASS3 change name student_name varchar(20) unique key;
select * from CLASS3;
insert into CLASS3 (id,student_name,sex) values (1,'zhangsan','男');
select * from CLASS3;
insert into CLASS3 (id,student_name,sex) values (4,'zhangsan','男');
4.フィールドを削除します
ALTER TABLE 表名 DROP 字段名;
例:alter table CLASS3 drop address;
展開
例:SCHOOLを使用します。
存在しない場合はテーブルを作成しますCLASS4(id int(4)zerofill primary key auto_increment、student_name varchar(20)not null、cardid varchar(18)not null unique key、hobby varchar(50));
存在しない場合 | 作成するテーブルがすでに存在するかどうかを示します。存在しない場合は、引き続き作成します。 |
---|---|
int(4)ゼロフィル | 値が4桁未満の場合、前に「0」が入力されることを示します(例:0001)。 |
自動増加 | このフィールドが自己成長フィールドであることを示します。つまり、各レコードは自動的に1ずつインクリメントされ、デフォルトは1から始まります。自己成長フィールドのデータを繰り返すことはできません。自己成長フィールドは主キーである必要があります。追加されたレコードデータはこのフィールドの値を指定せず、追加の失敗は自動的に1回インクリメントされます |
一意のキー | このフィールドの一意キー制約を示します。このフィールドのデータを繰り返すことはできません。テーブルには主キーが1つしか存在できませんが、テーブルには複数の一意キーが存在する可能性があります。 |
nullではない | このフィールドをNULLにすることは許可されていないことを示します |