MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLシーケンスを作成する方法は?


MySQLのシーケンスとは何ですか?

MySQLでは、シーケンスとは、指定されている場合は1または0から昇順で生成される整数のリストを指します。多くのアプリケーションでは、特に識別のために一意の番号を生成するために使用されるシーケンスが必要です。

例としては、CRMの顧客ID、HRの従業員番号、サービス管理システムの機器番号などがあります。

MySQLでシーケンスを自動的に作成するには、列のAUTO_INCREMENT属性を設定する必要があります。これは通常、主キー列になります。

ルール

AUTO_INCREMENT属性を使用するときは、次のルールに従う必要があります-

すべてのテーブルには、データ型が通常整数であるAUTO_INCREMENT列が1つだけあります。

AUTO_INCREMENT列にインデックスを付ける必要があります。これは、PRIMARYKEYまたはUNIQUEインデックスのいずれかである可能性があることを意味します。

AUTO_INCREMENT列には、NOTNULL制約が必要です。

AUTO_INCREMENT属性が列に設定されている場合、MySQLは自動的にNOTNULL制約を列に追加します。

MySQLシーケンスを作成する

MySQLシーケンスの作成例を見てみましょう-

CREATE TABLE tableName (
   emp_no INT AUTO_INCREMENT PRIMARY KEY,
   first_name VARCHAR(50),
   last_name VARCHAR(50)
)

AUTO_INCREMENT列がどのように機能するかを理解しましょう-

  • AUTO_INCREMENT列の開始値は通常1です。NULL値が列に挿入されるか、INSERTステートメントで値が省略されると、1ずつ増加します。

  • 最後に生成されたシーケンス番号を取得するには、LAST_INSERT_ID()関数を使用できます。

  • 最後に生成されたシーケンスは、セッション間で一意です。

  • 別の接続でシーケンス番号が生成される場合は、LAST_INSERT_ID()関数を使用して取得できます。

  • 新しい行がテーブルに挿入され、シーケンス列に値が指定されている場合、シーケンス番号が列に存在しない場合、MySQLはシーケンス番号を確実に挿入します。


  1. MySQLで列を分割する方法は?

    列を分割するには、MySQLでSUBSTRING_INDEX()を使用する必要があります。まずテーブルを作成しましょう- mysql> create table DemoTable    -> (    -> Name varchar(40)    -> ); Query OK, 0 rows affected (1.80 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable values('John_Smith&

  2. MySQLビューを作成する方法は?

    MySQLビューを作成するには、次の構文のようにCREATEVIEWを使用します- create view yourViewName as select * from yourTableName;として作成します。 まずテーブルを作成しましょう- mysql> create table DemoTable1802      (      StudentId int,      StudentName varchar(20)      ); Query OK, 0 ro