【MySQL】データベースとテーブルの添削
12051 ワード
データベースの基本概念データベースの英単語:DataBase略称:DB データベースとは何ですか? は、データを格納および管理するための倉庫である.
データベースの特徴: データを永続化して格納する.データベースはファイルシステム ですデータの保存と管理を容易にする データベースを統合して操作–SQL
MySQLデータベースソフトウェア
インストール
略
アンインストール(インストール版) mysqlのインストールディレクトリに行って 複製 MySQL をアンインストール
コンフィギュレーション
MySQLサービス起動手動. を開く.管理者を使用して を閉じる
MySQLログイン
MySQL終了
MySQLディレクトリ構造 MySQLインストールディレクトリ: プロファイル MySQLデータディレクトリ: のいくつかの概念 データベース:フォルダ 表:ファイル データ:データ
SQL
SQLとは?
Structured Query Language:構造化クエリー言語は、すべてのリレーショナル・データベースを操作するルールを定義します.各データベースの操作方法には「方言」と呼ばれる場所があります.
SQL共通構文 SQL文は、セミコロンで終わる1行または複数行で書くことができます. は、スペースおよびインデントを使用して文の可読性を向上させることができる. MySQLデータベースのSQL文は大文字と小文字を区別せず、キーワードは大文字を推奨します. 3コメント 単行注釈:–注釈コンテンツまたは#注釈コンテンツ(mysql固有) 複数行コメント:/*コメント*/
SQL分類 1.DDL:操作データベース、テーブル
1.1操作データベース:CRUD
C(Create):作成データベースの作成: データベースを作成し、存在しないと判断し、再作成: データベースを作成し、文字セット を指定します.練習:db 4データベースを作成し、存在するかどうかを判断し、utf 8(なし-) の文字セットを作成します.
R(Retrieve):クエリークエリーすべてのデータベースの名前: データベースの文字セットを問い合わせる:データベースの作成文を問い合わせる U(Update):変更データベースの文字セットを変更する D(Delete):削除データベース を削除データベースが存在すると判断し、再削除 が存在する.
データベースの使用現在使用中のデータベース名を問い合わせる データベース を使用
1.2操作表
C(Create):作成
基本構文:
補足1:一般的なデータベース・タイプ:
このフィールドに将来値を割り当てない場合、またはnullに値を割り当てる場合、デフォルトでは現在のシステム時間が使用され、 が自動的に値を割り当てる.
補足2:整合性制約
こうそくじょうけん
説明
PRIMARY KEY
この属性がテーブルのプライマリ・キーであることを識別し、対応するメタ・グループを一意に識別できます.
FOREIGN KEY
このプロパティがテーブルであることを示す外部キーは、テーブルに関連付けられたプライマリ・キーです.
NOT NULL
この属性を空にできないことを識別します.
UNIQUE
属性を識別する値は一意です
AUTO_INCREMENT
この属性を識別する値は自動的に増加します.これはMySQLのSQL文の特色です.
DEFAULT
この属性のデフォルト値を設定
Exam:
テーブルのコピー:
R(Retrieve):クエリークエリーあるデータベース内のすべてのテーブル名 クエリテーブル構造 U(Update):変更表名 を変更表の文字セットを変更する 列 を追加列名タイプ を変更削除列 D(Delete):削除
2.DML:表中のデータを添削する
データの追加:構文: 注意: カラム名と値は1つずつ対応します. テーブル名の後にカラム名を定義しない場合、デフォルトではすべてのカラムに値 を追加します.数字のタイプを除いて、他のタイプは引用符(一重でも可)を使用して を引き起こす必要があります.
データの削除:構文: 注意: 条件を付けない場合、テーブル内のすべてのレコードが削除されます. すべてのレコードを削除する場合
データの変更:構文: 注意:条件を付けないと、テーブル内のすべてのレコードが変更されます.
3.DQL:クエリー・テーブルのレコード
基本構文:
ベースクエリー複数のフィールドのクエリー 注:すべてのフィールドをクエリーする場合は、*を使用してフィールドリストを置き換えることができます.
除去繰返し: 計算カラム は、一般に、4つの演算を使用していくつかのカラムの値を計算することができる.(一般的に数値型の計算しかできない) ifnull(式1,式2):nullが関与する演算で、計算結果はnullです. 式1:nullの値が可能なフィールド フィールドがnullの場合のデフォルト値.
からの別名: as:asは を省略することもできる.
条件クエリー
where句の後に条件を付ける
補足3:演算子補足:比較演算子 演算子
式の形式
さぎょう
=
a=b
aがbに等しいか否かを判断する
<>または!=
a<>bまたはa!=b
aがbに等しくないか否かを判断する
<=>
2つのNULL値が等しいかどうかを厳密に比較
両方の操作コードがNULLの場合、その得られた値は1である.一方、1つの操作コードがNULLである場合、その得られた値が0でaを判断するとbに等しい
>
a>b
aがbより大きいか否かを判断する
>=
a>=b
aがb以上であるか否かを判断する
<
a
aがbより小さいか否かを判断する
<=
a<=b
aがb以下であるか否かを判断する
IS NULL
a IS NULL
aがNULLに等しいか否かを判定する
IS NOT NULL
a IS NOT NULL
aがNULLに等しくないか否かを判断する
BETWEEN AND
x BETWEEN a and b
aの取値がaとbの間にあるか否かを判断する
IN
a IN(値1,値2,…,値n)
aの取値が値1乃至値nの一方であるか否かを判断する
LIKE
a LIKE式
aが式に一致するか否かを判断する
REGEXP
a REGEXP正規表現
aが正規表現に一致するか否かを判断する
説明:LIKE:ファジイクエリプレースホルダ: 補足:論理演算子
例:
MySQLデータベースソフトウェア
インストール
略
アンインストール(インストール版)
my.ini
ファイルを見つけますdatadir
="C:/ProgramData/MySQL/MySQL Server 5.7/Data/"
C:/ProgramData
ディレクトリの下にあるMySQL
フォルダを削除します.コンフィギュレーション
MySQLサービス起動
cmd
-->services.msc
サービスのウィンドウcmd
を開くnet start mysql
:mysqlのサービスを開始するnet stop mysql
:mysqlサービスMySQLログイン
mysql -uroot -p
mysql -hip -uroot -p
mysql --host=ip --user=root --password=
MySQL終了
exit
quit
MySQLディレクトリ構造
basedir="D:/develop/MySQL/"
my.ini
datadir="C:/ProgramData/MySQL/MySQL Server 5.5/Data/"
SQL
SQLとは?
Structured Query Language:構造化クエリー言語は、すべてのリレーショナル・データベースを操作するルールを定義します.各データベースの操作方法には「方言」と呼ばれる場所があります.
SQL共通構文
SQL分類
DDL(Data Definition Language)
データ定義言語は、データベースオブジェクト:データベース、テーブル、カラムなどを定義するために使用されます.キーワード:create,drop,alterなどDML(Data Manipulation Language)
データ操作言語は、データベース内のテーブルのデータを削除するために使用される.キーワード:insert,delete,updateなどDQL(Data Query Language)
データ照会言語は、データベース内のテーブルのレコード(データ)を照会するために使用される.キーワード:select,whereなどDCL(Data Control Language)
データ制御言語(了解)は、データベースのアクセス権とセキュリティレベルを定義し、ユーザーを作成するために使用されます.キーワード:GRANT,REVOKE等1.1操作データベース:CRUD
C(Create):作成
create database ;
create database if not exists ;
create database character set ;
create database if not exists db4 character set utf8;
R(Retrieve):クエリー
show databases;
show create database ;
alter database character set ;
drop database ;
drop database if exists ;
データベースの使用
select database();
use ;
1.2操作表
C(Create):作成
基本構文:
create table (
1 1 [ ],
2 2 [ ],
...
n n [ ]
);
# : , (,)
補足1:一般的なデータベース・タイプ:
int
:整数タイプage int
double
:小数型score double(5,2)
date
:日付、年月日のみを含む、yyyy-MM-dd
datetime
:日付、年月日を含む時分秒yyyy-MM-dd HH:mm:ss
timestamp
:タイムスタンプタイプ年月日分秒yyyy-MM-dd HH:mm:ss
を含むvarchar
:文字列name varchar(20): 20
exam: zhangsan 8 2
補足2:整合性制約
こうそくじょうけん
説明
PRIMARY KEY
この属性がテーブルのプライマリ・キーであることを識別し、対応するメタ・グループを一意に識別できます.
FOREIGN KEY
このプロパティがテーブルであることを示す外部キーは、テーブルに関連付けられたプライマリ・キーです.
NOT NULL
この属性を空にできないことを識別します.
UNIQUE
属性を識別する値は一意です
AUTO_INCREMENT
この属性を識別する値は自動的に増加します.これはMySQLのSQL文の特色です.
DEFAULT
この属性のデフォルト値を設定
Exam:
create table student(
id int PRIMARY KEY NOT NULL AUTO_INCREMENT, -- , ,
name varchar(32) NOT NULL, --
age int DEFAULT 0, -- 0
score double(4,1),
birthday date,
insert_time timestamp
-- : :PRIMARY KEY(id)
);
テーブルのコピー:
create table like ;
R(Retrieve):クエリー
show tables;
desc ;
alter table rename to ;
alter table character set ;
#
show create table ;
alter table add [ ]; #[ ]
alter table change ;
alter table modify ;
alter table drop ;
drop table ;
drop table if exists ;
2.DML:表中のデータを添削する
データの追加:
insert into ( 1, 2,... n) values( 1, 2,... n);
insert into values( 1, 2,... n);
データの削除:
delete from [where ]
--1. 。
delete from ;
--2. , , 。
TRUNCATE TABLE ;
データの変更:
update set 1 = 1, 2 = 2,... [where ];
3.DQL:クエリー・テーブルのレコード
select * from ;
基本構文:
select
from
where
group by
having
order by
limit
ベースクエリー
select 1, 2, ..., n from ;
select distinct from ;
select as from ;
条件クエリー
where句の後に条件を付ける
補足3:演算子
式の形式
さぎょう
=
a=b
aがbに等しいか否かを判断する
<>または!=
a<>bまたはa!=b
aがbに等しくないか否かを判断する
<=>
2つのNULL値が等しいかどうかを厳密に比較
両方の操作コードがNULLの場合、その得られた値は1である.一方、1つの操作コードがNULLである場合、その得られた値が0でaを判断するとbに等しい
>
a>b
aがbより大きいか否かを判断する
>=
a>=b
aがb以上であるか否かを判断する
<
a
aがbより小さいか否かを判断する
<=
a<=b
aがb以下であるか否かを判断する
IS NULL
a IS NULL
aがNULLに等しいか否かを判定する
IS NOT NULL
a IS NOT NULL
aがNULLに等しくないか否かを判断する
BETWEEN AND
x BETWEEN a and b
aの取値がaとbの間にあるか否かを判断する
IN
a IN(値1,値2,…,値n)
aの取値が値1乃至値nの一方であるか否かを判断する
LIKE
a LIKE式
aが式に一致するか否かを判断する
REGEXP
a REGEXP正規表現
aが正規表現に一致するか否かを判断する
説明:LIKE:ファジイクエリ
_
:単一任意文字%
:複数の任意の文字and
または&&
or
または||
not
または!
例:
-- / 20
SELECT * FROM student WHERE age > 20;
SELECT * FROM student WHERE age >= 20;
-- 20
SELECT * FROM student WHERE age = 20;
-- 20
SELECT * FROM student WHERE age != 20;
SELECT * FROM student WHERE age <> 20;
-- 20 30
SELECT * FROM student WHERE age >= 20 && age <=30;
SELECT * FROM student WHERE age >= 20 AND age <=30;
SELECT * FROM student WHERE age BETWEEN 20 AND 30;
-- 22 ,18 ,25
SELECT * FROM student WHERE age = 22 OR age = 18 OR age = 25
SELECT * FROM student WHERE age IN (22,18,25);
-- null
SELECT * FROM student WHERE english = NULL; -- 。null = (!=)
SELECT * FROM student WHERE english IS NULL;
-- null
SELECT * FROM student WHERE english IS NOT NULL;
-- ? like
SELECT * FROM student WHERE NAME LIKE ' %';
--
SELECT * FROM student WHERE NAME LIKE "_ %";
-- 3
SELECT * FROM student WHERE NAME LIKE '___';
--
SELECT * FROM student WHERE NAME LIKE '% %';