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はシーケンス番号を確実に挿入します。
-
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&
-
MySQLビューを作成する方法は?
MySQLビューを作成するには、次の構文のようにCREATEVIEWを使用します- create view yourViewName as select * from yourTableName;として作成します。 まずテーブルを作成しましょう- mysql> create table DemoTable1802 ( StudentId int, StudentName varchar(20) ); Query OK, 0 ro