ホームページ データベース mysql チュートリアル 基本的な mysql 構文を学習する

基本的な mysql 構文を学習する

Jun 23, 2017 am 11:10 AM
mysql ベース 勉強 文法

はじめに

mysql

mysql 構文--この記事は、Navicat Premium (データベース管理ツール) を使用して学習します。 、mysql データを接続します。

この調査は主に 2 つの部分で構成されます:

1. ユーザーを作成し、データベースを作成し、ユーザーに権限を割り当て、ユーザー権限を削除します。

2. MYSQL の一般的なデータ型

3. テーブル - テーブル、主キー、外部キーの作成

4. データベース設計の 3 つの主要なパラダイム

以下のコードはすべてall in mysql 構文を使用して、新しいクエリ テーブルを編集します。

1. ユーザーを作成し、データベースを作成し、ユーザーに権限を割り当て、ユーザー権限を削除します。
/* SQL 複数行コメント*/
-- SQL 単一行コメント

Create user: CREATE USER 'username'@'hostname' IDENTIFIED BY 'password'; 空の場合。これは空で、デフォルトは % パーミッションです。これは、すべてのホストが接続できることを意味します。 : 配布権限: 分 データベース名に対する権限を付与します
データベース名に対する権限を削除します
データベースを作成します: CREATE DATABASE [IF NOT EXISTS] データベース名[CHARACTER SET[=] 'UTF8'];
<<<[IF NOT EXISTS]が省略され、データベースの作成を繰り返したときにエラーが報告される場合、! このマシン内のすべてのデータベースをクエリします
: SHOW DATABASESmydb データベースを使用します↓
、これは、次のクエリがデフォルトで mydb データベースをターゲットにすることを意味します
USE mydb;Queryデータベース 内のすべてのデータ テーブル:
SHOW TABLES [FROM データベース]


2 MYSQL の一般的なデータ型


1. 文字型:

① CHAR(N) : N 文字の固定長の文字列 長さが足りない場合は自動的に空白が埋められます
② VARCHAR(N) : 文字バイトを格納します。可変長の。一般的に使用される 0~255
③ TEXT: 可変長の文字列を格納します。 (記事やその他の大きなコンテンツを公開するときによく使用されるフレーズ) 0~((2^16-1)*10^2);
④ TINYTEXT:0~((2^8-1)*10);
⑤ MEDIUMTEXT: 0~((2^24-1)*10^3)​​; ⑥ LINGTEXT:0~((2^32-1)*10^4)
⑦ enum("男", "女"); 、フィールドには列挙型データのみを収容できます。


2. 整形:
① TINYINT: 符号なし 0~2^8-1 符号あり -2^7~2^7-1;
② SMALLINT: 符号なし 0~2^16-1 符号あり -2^15 ~2^15-1;
③ MEDIUMINT: 符号なし 0~2^24-1 符号あり-2^23~2^23-1;
④ INT: 符号なし 0~2^32-1 符号あり -2^31~2 ^31-1 が最もよく使用されます。
⑤ BIGINT: 符号なし 0~2^64-1 符号あり -2^63~2^63-1;


3. 浮動小数点型:
① FLOAT: 小数点以下有効数字 7 桁まで精度が可能;
② DOUBLE: 小数点以下の有効数字 15 ~ 16 桁まで正確です。


IV. 日付と時刻のデータ型
注: 時刻ストレージは文字列またはタイムスタンプを使用するため、データベースでは日付型が使用されることはほとんどありません。
① DATE: 日時データを保存します



   
 【创建表

  CREATE TABLE [IF NOT EXISTS] 表单名(
  IF NOT EXISTS 可以省略,省略后重复创建报错.如果不省略,则创建时会检测表是否已存在,如果表存在则不再执行创建语句
  定义列:列名 数据类型 列表关键字
  )
  常用的列定义关键字:
          ① UNSIGNED: 设置列表为无符号列。只能设置类型为数字类型的列
          ② AUTO_INCREMENT PRIMARY KEY 设置列为自动增长列。自动增长列必须是主键。
          ③ NOT null:设置列为非空约束
          ④ UNIQUE:设置唯一性约束。该字段不能出现重复值。
          ⑤ DEFAULT: 设置默认值约束。


 【主键

      1、主键的注意事项?  主键默认为空!主键默认唯一性约束!
                                             只有主键才能设置自动增长(主键不一定自动增长,自动增长必须是主键)
                                            
      2、设置主键的方式?  
              ① 在列定义是设置: age SMALLINT(3) PRIMARY KEY,
              ② 在列定义完成后设置:  PRIMARY KEY(age),
    
 【外键】    
      1、设置外键有哪些注意事项
          ① 只有innodb的数据库引擎支持外键,修改mysql.ini文件:default-storage-engine=INNODB
          ② 外键与参照列的数据类型必须相同。(数值型要求长度和无符号都相同,字符串要求类型相同,长度可以不同。)
          ③ 设置外键的字段必须要有索引。如果没有索引,设置外键时会自动生成一个索引。

      2、设置外键的语法?
          [CONSTRAINT 外键名] FOREIGN KEY (外键字段) REFERENCES 参照表(参照字段) [ON DELETE SET NULL on update CASCADE]-- 设置参照完整性
          

      3、外键约束的参照完整性操作?
          参照操作:当对参照表的参照字段进行删除或者更新是,外键表中的外键如何应对。
          参照操作可选值:restrict 拒绝参照表删除或更新参照字段;(默认)
                                          NO ACTION 与 restrict一样,但这个指令只在mysql生效;
                                          cascade 删除或更新参照表的参照字段时,外键表的记录同步删除或更新;(外键表和参照表同步)
                                          set null 删除或更新参照表的参照字段时,外键表的外键设为null;
  
         

 

CREATE TABLE IF NOT EXISTS tb1( 
-- IF NOT EXISTS 可以省略,省略后重复创建报错.如果不省略,则创建时会检测表是否已存在,如果表存在则不再执行创建语句id INT(3),
    `name` VARCHAR(255) NOT null, -- name是系统关键字,所以使用反引号``包裹age SMALLINT(3) AUTO_INCREMENT PRIMARY KEY,
    lalala INT UNIQUE,
 height DOUBLE(3,2) DEFAULT 1.2 -- 设置默认值约束:默认值为1.2-- PRIMARY KEY(age));create table if not exists classes(
 id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
  classname VARCHAR(255) NOT NULL );CREATE table if not EXISTS `user`(
    id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    clsId INT UNSIGNED,
    `name` VARCHAR(255) NOT NULL, CONSTRAINT user_fk_classes FOREIGN KEY (clsid) REFERENCES classes(id) ON DELETE SET NULL on update CASCADE)-- auto_increment-- 显示表结构SHOW TABLES;-- 显示表内容结构SHOW COLUMNS FROM TB1;-- 现实表的建表语句show create TABLE tb1;-- 删除表DROP TABLE IF EXISTS TB1;DROP TABLE IF EXISTS classes;DROP TABLE IF EXISTS `user`;-- 修改表名 ALTER table tb1 rename tb2;-- 修改字段 列-- alter table 表名 change 旧列名 新列名 列定义 [first|after某一列]-- first 将这个字段调整为表格第一列; after某一列: 将这个字段放到某一列后面alter table tb1 change height width VARCHAR(200) not NULL FIRST; 



-- 删除表中某一列alter table tb1 drop name;-- 新增一列:必选部分:alter table tb1 add haha DOUBLE(8,2)alter table tb1 add haha DOUBLE(8,2) DEFAULT 1.2 after age;-- 新增多列:不能调整列的位置,只能插在最后。alter table tb1 add (
    ha1 DOUBLE(3,2) UNSIGNED,
    ha2 VARCHAR(255)
);-- 同时修改多表明  rename table tb3 to tb1[,`USER`to user1];rename table tb2 to tb1,`USER`to user1;-- 增加主键约束alter table tb1 add PRIMARY KEY(id);-- 删除主键约束alter table tb1 drop PRIMARY KEY;-- 新增唯一性约束ALTER table tb1 add unique key(ha1);-- 删除唯一性约束:由于创建唯一性约束会默认创建索引,所以删除时,需删除索引ALTER table tb1 drop index ha1;    
-- 设置默认值约束:前提必须设置default 属性ALTER table tb1 alter ha1 set default 20;-- 删除默认值约束ALTER table tb1 alter haha drop default;-- 设置外键约束 必选部分  alter table tb1 add  foreign key (clsid)REFERENCES classes(id)alter table tb1 add constraint waijianming foreign key (clsid)REFERENCES classes(id) ON DELETE SET NULL on update CASCADE;-- 删除外键约束,由于常见外键时会生成索引,所以删除外键后,需要删索引。alter table tb1 drop foreign key waijianming;alter table tb1 drop INDEX waijianming;

SHOW COLUMNS FROM TB1;
ログイン後にコピー

3. テーブル - テーブル、主キー、外部キーを作成します
4 データベースの 3 つの主要なパラダイム

1: データ テーブルの各列 (フィールド) は非-取り外し可能 ポイントの最小単位。これは、各列の原子性を確保するためです。
使用する 使用する 使用する 使用する 使用する アウト アウト アウト アウト アウト アウト スルー スルー スルースルー スルー スルー スルー ライト スルー オフ ' 's' ' スルー アウト' ' スルー スルー アウト' スルー‐‐‐‐‐ ‐‐‐‐‐‐ 合わせて 13181621008'
列になります。すべて主キーに依存する必要があり、主キーに関連しない列は存在できません。言い換えれば、表は 1 つのことだけを説明します。

アウト スルー オフ オフ オフ ' through through through through through out through through through ‐ ‐ ‐‐ ‐ down through‐,
したがって: 注文情報と製品情報を同じテーブルに含めることはできません。

3. 第 3 正規形 (3NF): テーブル内の各列は、間接的ではなく主キーに直接関連付けられている必要があります。 (テーブル内の各列は主キーにのみ依存できます)。
例: 注文テーブルでは、支店顧客テーブルの後に顧客関連情報が必要です。注文テーブルでは、ユーザー ID のみが必要です。他の顧客情報は存在できません。他のユーザー情報は注文 ID ではなくユーザー ID に直接関連しているためです。


[第 2 正規形と第 3 正規形の本質的な違い]
は、2 つのテーブルが存在しないことです。第 2 正規形は、1 つのテーブルに複数の異なるエンティティの属性が含まれるため、複数のテーブルに分割する必要があることを意味します。 。
第 3 正規形では、複数のテーブルが複数のテーブルに分割されている必要があります。その場合、1 つのテーブルは別のテーブルの ID (主キー) のみを持つことができ、他の情報は持つことができません (他の情報は常に主キーを使用します)。另一表查询)



学习時刻的笔记、いくつかの危険な場所がある可能性があり、各位の批判を受け入れます。

反省、見直し、毎日少しずつ得る--------------------- より良い自分を目指して

以上が基本的な mysql 構文を学習するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

MySQL:初心者向けのデータ管理の容易さ MySQL:初心者向けのデータ管理の容易さ Apr 09, 2025 am 12:07 AM

MySQLは、インストールが簡単で、強力で管理しやすいため、初心者に適しています。 1.さまざまなオペレーティングシステムに適した、単純なインストールと構成。 2。データベースとテーブルの作成、挿入、クエリ、更新、削除などの基本操作をサポートします。 3.参加オペレーションやサブクエリなどの高度な機能を提供します。 4.インデックス、クエリの最適化、テーブルパーティション化により、パフォーマンスを改善できます。 5。データのセキュリティと一貫性を確保するために、バックアップ、リカバリ、セキュリティ対策をサポートします。

NAVICATでデータベースパスワードを取得できますか? NAVICATでデータベースパスワードを取得できますか? Apr 08, 2025 pm 09:51 PM

NAVICAT自体はデータベースパスワードを保存せず、暗号化されたパスワードのみを取得できます。解決策:1。パスワードマネージャーを確認します。 2。NAVICATの「パスワードを記憶する」機能を確認します。 3.データベースパスワードをリセットします。 4.データベース管理者に連絡してください。

Navicatプレミアムの作成方法 Navicatプレミアムの作成方法 Apr 09, 2025 am 07:09 AM

NAVICATプレミアムを使用してデータベースを作成します。データベースサーバーに接続し、接続パラメーターを入力します。サーバーを右クリックして、[データベースの作成]を選択します。新しいデータベースの名前と指定された文字セットと照合を入力します。新しいデータベースに接続し、オブジェクトブラウザにテーブルを作成します。テーブルを右クリックして、データを挿入してデータを挿入します。

MySQL:簡単な学習のためのシンプルな概念 MySQL:簡単な学習のためのシンプルな概念 Apr 10, 2025 am 09:29 AM

MySQLは、オープンソースのリレーショナルデータベース管理システムです。 1)データベースとテーブルの作成:createdatabaseおよびcreateTableコマンドを使用します。 2)基本操作:挿入、更新、削除、選択。 3)高度な操作:参加、サブクエリ、トランザクション処理。 4)デバッグスキル:構文、データ型、およびアクセス許可を確認します。 5)最適化の提案:インデックスを使用し、選択*を避け、トランザクションを使用します。

MariadBのNAVICATでデータベースパスワードを表示する方法は? MariadBのNAVICATでデータベースパスワードを表示する方法は? Apr 08, 2025 pm 09:18 PM

Passwordが暗号化された形式で保存されているため、MariadbのNavicatはデータベースパスワードを直接表示できません。データベースのセキュリティを確保するには、パスワードをリセットするには3つの方法があります。NAVICATを介してパスワードをリセットし、複雑なパスワードを設定します。構成ファイルを表示します(推奨されていない、高リスク)。システムコマンドラインツールを使用します(推奨されません。コマンドラインツールに習熟する必要があります)。

NAVICATでSQLを実行する方法 NAVICATでSQLを実行する方法 Apr 08, 2025 pm 11:42 PM

NAVICATでSQLを実行する手順:データベースに接続します。 SQLエディターウィンドウを作成します。 SQLクエリまたはスクリプトを書きます。 [実行]ボタンをクリックして、クエリまたはスクリプトを実行します。結果を表示します(クエリが実行された場合)。

NavicatでMySQLへの新しい接続を作成する方法 NavicatでMySQLへの新しい接続を作成する方法 Apr 09, 2025 am 07:21 AM

手順に従って、NAVICATで新しいMySQL接続を作成できます。アプリケーションを開き、新しい接続(CTRL N)を選択します。接続タイプとして「mysql」を選択します。ホスト名/IPアドレス、ポート、ユーザー名、およびパスワードを入力します。 (オプション)Advanced Optionsを構成します。接続を保存して、接続名を入力します。

MySQLおよびSQL:開発者にとって不可欠なスキル MySQLおよびSQL:開発者にとって不可欠なスキル Apr 10, 2025 am 09:30 AM

MySQLとSQLは、開発者にとって不可欠なスキルです。 1.MYSQLはオープンソースのリレーショナルデータベース管理システムであり、SQLはデータベースの管理と操作に使用される標準言語です。 2.MYSQLは、効率的なデータストレージと検索機能を介して複数のストレージエンジンをサポートし、SQLは簡単なステートメントを通じて複雑なデータ操作を完了します。 3.使用の例には、条件によるフィルタリングやソートなどの基本的なクエリと高度なクエリが含まれます。 4.一般的なエラーには、SQLステートメントをチェックして説明コマンドを使用することで最適化できる構文エラーとパフォーマンスの問題が含まれます。 5.パフォーマンス最適化手法には、インデックスの使用、フルテーブルスキャンの回避、参加操作の最適化、コードの読み取り可能性の向上が含まれます。

See all articles