MySQL基本知識ノート1-[基本文法]

今日のコンテンツ

  1. データベースの基本概念

  2. MySQLデータベースソフトウェア

    1. インストール
    2. アンインストール
    3. 構成
  3. SQL

データベースの基本概念

  1. データベースの英語の単語:データベース略語:DB

  2. どのデータベース?

    データを保存および管理するための倉庫。

  3. データベースの機能:

    データの永続的なストレージ。実際、データベースはファイルシステムです

    データの保存と管理が便利

    統一された方法でデータベースを操作する-SQL

MySQLデータベースソフトウェア

インストール

前のブログを参照してください

アンインストール

  1. mysqlインストールディレクトリに移動して、my.iniファイルを見つけます

    datadir = "C:/ ProgramData / MySQL / MySQL Server 5.5 / Data /"をコピーします

  2. MySQLをアンインストールします

  3. C:/ ProgramDataディレクトリのMySQLフォルダを削除します。

構成

MySQLサービス開始

  1. 手動で。
  2. cmd-> services.mscをクリックして、サービスウィンドウを開きます
  3. 管理者でcmdを開く
    • net start mysql:mysqlサービスを開始します
    • net stop mysql:mysqlサービスを閉じます

MySQLログイン

  1. mysql -uroot-pパスワード
  2. mysql -hip -uroot-p接続ターゲットパスワード
  3. mysql --host = ip --user = root --password =接続ターゲットのパスワード

MySQL出口

  1. 出口
  2. 終了する

MySQLディレクトリ構造

  1. MySQLインストールディレクトリ:basedir = "D:/ development / MySQL /"

    構成ファイルmy.ini

  2. MySQLデータディレクトリ:datadir = "C:/ ProgramData / MySQL / MySQL Server 5.5 / Data /"

    いくつかの概念:

    データベース:フォルダ

    表:ファイル

    データ:データ

SQL

SQLとは

構造化クエリ言語:構造化クエリ言語
は、実際にはすべてのリレーショナルデータベースを操作するためのルールを定義します。データベース操作の方法はそれぞれ異なり、「ダイアレクト」と呼ばれます。

SQLの一般的な構文

  1. SQLステートメントは、セミコロンで終わる1行または複数行で記述できます。

  2. スペースとインデントを使用して、ステートメントの読みやすさを向上させることができます。

  3. MySQLデータベースのSQLステートメントは大文字と小文字を区別しないため、キーワードには大文字を使用することをお勧めします。

  4. 3つの注釈

    1行のコメント:–コメントコンテンツまたは#コメントコンテンツ(mysql固有)

    複数行のコメント:/ *コメント* /

  5. 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
);

注:最後の列にコンマ(、)を追加する必要はありません

データベースタイプ

  1. int:整数型

    年齢int、

  2. double:10進タイプ

    スコアdouble(5,2)

  3. 日付:日付、年、月、日のみが含まれます、yyyy-MM-dd

  4. 日時:年、月、日、時、分、秒を含む日付yyyy-MM-dd HH:mm:ss

  5. タイムスタンプ:タイムスタンプタイプには、年、月、日、時、分、秒が含まれますyyyy-MM-dd HH:mm:ss

    将来このフィールドに値を割り当てない場合、または値をnullに割り当てる場合、デフォルトでは現在のシステム時間が使用され、値が自動的に割り当てられます。

  6. 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(更新):変更

  1. テーブル名を
    変更します。テーブルテーブル名の名前を新しいテーブル名に変更します。

  2. テーブルの文字セットを変更します。テーブルテーブル名を変更します。文字セット文字セット名。
  3. 列の追加
    ALTER TABLEテーブル名の追加、列名データ型を、
  4. 列名タイプの
    変更テーブルテーブル名の変更列名の変更新しい列タイプの新しいデータタイプ;
    テーブルテーブル名の変更列名の変更新しいデータタイプ;
  5. 列の削除
    テーブルテーブル名の削除列名の変更;

D(削除):削除

テーブルテーブル名を削除します。

表名が存在する場合はテーブルを削除します。

クライアントグラフィカルツール:Navicat

DML:テーブル内のデータを追加、削除、変更します

データの追加:

文法:

  • テーブル名に挿入(列名1、列名2、...列名n)値(値1、値2、...値n);

注意:

  1. 列の名前と値は1対1で対応している必要があります。
  2. テーブル名の後に列名が定義されていない場合は、テーブル名に
    挿入値(値1、値2、...値n)がデフォルトですべての列に追加されます;
  3. 数字の種類に加えて、他の種類は引用符で囲む必要があります(シングルおよびダブル)

データの削除:

文法:

  • テーブル名から削除[条件]

注意:

  1. 条件が追加されていない場合、テーブル内のすべてのレコードが削除されます。
  2. すべてのレコードを削除したい場合
    1. テーブル名から削除;-推奨されません。レコード数と同じ数の削除操作が実行されます
    2. 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 '%德%';

おすすめ

転載: blog.csdn.net/weixin_43215322/article/details/109083794
おすすめ