今日のコンテンツ
-
データベースの基本概念
-
MySQLデータベースソフトウェア
- インストール
- アンインストール
- 構成
-
SQL
データベースの基本概念
-
データベースの英語の単語:データベース略語:DB
-
どのデータベース?
データを保存および管理するための倉庫。
-
データベースの機能:
データの永続的なストレージ。実際、データベースはファイルシステムです
データの保存と管理が便利
統一された方法でデータベースを操作する-SQL
MySQLデータベースソフトウェア
インストール
前のブログを参照してください
アンインストール
-
mysqlインストールディレクトリに移動して、my.iniファイルを見つけます
datadir = "C:/ ProgramData / MySQL / MySQL Server 5.5 / Data /"をコピーします
-
MySQLをアンインストールします
-
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出口
- 出口
- 終了する
MySQLディレクトリ構造
-
MySQLインストールディレクトリ:basedir = "D:/ development / MySQL /"
構成ファイルmy.ini
-
MySQLデータディレクトリ:datadir = "C:/ ProgramData / MySQL / MySQL Server 5.5 / Data /"
いくつかの概念:
データベース:フォルダ
表:ファイル
データ:データ
SQL
SQLとは
構造化クエリ言語:構造化クエリ言語
は、実際にはすべてのリレーショナルデータベースを操作するためのルールを定義します。データベース操作の方法はそれぞれ異なり、「ダイアレクト」と呼ばれます。
SQLの一般的な構文
-
SQLステートメントは、セミコロンで終わる1行または複数行で記述できます。
-
スペースとインデントを使用して、ステートメントの読みやすさを向上させることができます。
-
MySQLデータベースのSQLステートメントは大文字と小文字を区別しないため、キーワードには大文字を使用することをお勧めします。
-
3つの注釈
1行のコメント:–コメントコンテンツまたは#コメントコンテンツ(mysql固有)
複数行のコメント:/ *コメント* /
-
SQL分類
DDL(データ定義言語)データ定義言語:データベースオブジェクト(データベース、テーブル、列など)を定義するために使用されます。キーワード:作成、削除、変更など。
DML(データ操作言語)データ操作言語:データベース内のテーブルのデータを追加、削除、および変更するために使用されます。キーワード:挿入、削除、更新など。
DQL(データクエリ言語)データクエリ言語:データベース内のテーブルのレコード(データ)をクエリするために使用されます。キーワード:select、whereなど。
DCL(データ制御言語)データ制御言語(理解):データベースのアクセス権とセキュリティレベルを定義し、ユーザーを作成するために使用されます。キーワード:GRANT、REVOKEなど。
DDL:操作データベース、テーブル
オペレーティングデータベース:CRUD
C(作成):作成
データベースを作成します。
- データベースデータベース名を作成します。
データベースを作成し、データベースが存在しないことを確認してから、以下を作成します。
- データベース名が存在しない場合はデータベースを作成します。
データベースを作成し、文字セットを指定します
- データベースデータベース名文字セット文字セット名を作成します。
演習:db4データベースを作成し、それが存在するかどうかを判別して、文字セットをgbkに設定します。
- 存在しない場合はデータベースを作成しますdb4文字セットgbk;
R(取得):クエリ
- すべてのデータベースの名前を照会します。showdatabases;
- データベースの文字セットを照会します。データベースの作成ステートメントを照会します。showcreatedatabasedatabase name;
U(更新):変更
- データベースの文字セットを変更します。データベースデータベース名の文字セット文字セット名を変更します。
D(削除):削除
- データベースの削除:データベースデータベース名を削除します。
- データベースが存在するかどうかを確認してから、削除します。データベース名が存在する場合はデータベースを削除します。
データベースを使用する
- 現在使用中のデータベースの名前を照会します。selectdatabase();
- データベースを使用する:データベース名を使用します。
手術台
C(作成):作成
構文:
create table table name(
列名1データタイプ1、
列名2データタイプ2、
…
列名nデータタイプn
);
注:最後の列にコンマ(、)を追加する必要はありません
データベースタイプ
-
int:整数型
年齢int、
-
double:10進タイプ
スコアdouble(5,2)
-
日付:日付、年、月、日のみが含まれます、yyyy-MM-dd
-
日時:年、月、日、時、分、秒を含む日付yyyy-MM-dd HH:mm:ss
-
タイムスタンプ:タイムスタンプタイプには、年、月、日、時、分、秒が含まれますyyyy-MM-dd HH:mm:ss
将来このフィールドに値を割り当てない場合、または値をnullに割り当てる場合、デフォルトでは現在のシステム時間が使用され、値が自動的に割り当てられます。
-
varchar:文字列
name varchar(20):名前は最大20文字です
張山8文字張山2文字
テーブルを作成する
create table student(
id int,
name varchar(32),
age int ,
score double(4,1),
birthday date,
insert_time timestamp
);
テーブルをコピーする
コピーするテーブルの名前のようなテーブルテーブル名を作成します。
R(取得):クエリ
- データベース内のすべてのテーブル名をクエリします。showtables;
- クエリテーブル構造:descテーブル名;
U(更新):変更
- テーブル名を
変更します。テーブルテーブル名の名前を新しいテーブル名に変更します。
テーブルの文字セットを変更します。テーブルテーブル名を変更します。文字セット文字セット名。- 列の追加
ALTER TABLEテーブル名の追加、列名データ型を、 - 列名タイプの
変更テーブルテーブル名の変更列名の変更新しい列タイプの新しいデータタイプ;
テーブルテーブル名の変更列名の変更新しいデータタイプ; - 列の削除
テーブルテーブル名の削除列名の変更;
D(削除):削除
テーブルテーブル名を削除します。
表名が存在する場合はテーブルを削除します。
クライアントグラフィカルツール:Navicat
DML:テーブル内のデータを追加、削除、変更します
データの追加:
文法:
- テーブル名に挿入(列名1、列名2、...列名n)値(値1、値2、...値n);
注意:
- 列の名前と値は1対1で対応している必要があります。
- テーブル名の後に列名が定義されていない場合は、テーブル名に
挿入値(値1、値2、...値n)がデフォルトですべての列に追加されます;- 数字の種類に加えて、他の種類は引用符で囲む必要があります(シングルおよびダブル)
データの削除:
文法:
- テーブル名から削除[条件]
注意:
- 条件が追加されていない場合、テーブル内のすべてのレコードが削除されます。
- すべてのレコードを削除したい場合
- テーブル名から削除;-推奨されません。レコード数と同じ数の削除操作が実行されます
- TRUNCATE TABLEテーブル名;-推奨される、より効率的な、最初にテーブルを削除してから、同じテーブルを作成します。
データを変更します。
文法:
- テーブル名を更新して列名を設定1 =値1、列名2 =値2、... [条件];
注意:
条件が追加されていない場合、テーブル内のすべてのレコードが変更されます。
DQL:テーブル内のレコードをクエリします
表名から*を選択します。
文法:
select
字段列表
from
表名列表
where
条件列表
group by
分组字段
having
分组之后的条件
order by
排序
limit
分页限定
基本的なクエリ
1.複数のフィールドのクエリで
、テーブル名からフィールド名1、フィールド名2 ...を選択します。
注意:
すべてのフィールドにクエリを実行する場合は、*を使用してフィールドリストを置き換えることができます。
2.重複を削除します:明確
3.計算列:通常、4つの算術演算を使用して、いくつかの列の値を計算できます。(通常、数値計算のみが実行されます)
ifnull(expression1、expression2):nullが関与する操作、計算結果はすべてnull
- 式1:どのフィールドがnullかどうかを判断する必要がある
- フィールドがnullの場合、置換値。
4.エイリアスを取得します。
- as:asも省略できます
条件クエリ
where句の後に条件が続く
オペレーター
、< 、<= 、>= 、= 、<>
BETWEEN...AND
IN( 集合)
LIKE:模糊查询
* 占位符:
* _:单个任意字符
* %:多个任意字符
IS NULL
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 '%德%';