SQLiteの命名規則

| | トラックバック(0)

SQLiteの命名規則についてメモ

テーブルやカラムなどの名前(識別子)に使用してよい文字は

  • アルファベットかアンダースコア( _ )で始まること
  • その後はアルファベット・数字・アンダースコアが続くこと

ということで、使っていい文字種は思いの外すくないですね。
ハイフン( - )やピリオド( . )などは使ってはいけないようです。 数字で始まる名前もだめですね。

名前の例:

  • mytable
  • my_field
  • xyz123
  • a

しかしながら、それだと名前の制約が随分キツイと思います。 そういう場合は、ダブルクォート( " )か角カッコ( [ ] )でくくれば、 上記の命名規則に従わない文字列も使えるとのことです。

たとえば、本来の命名規則だと

  • my table
  • my-field
  • 123xyz
  • 3.14

というのは使えませんが、使用するときに " " や [ ] でくくればどんな文字でもOKということのようです。ダブルクォートを使うかスクエアブラケットを使うかは好みのほうを使えばよいです。

  • "my table"
  • [my-field]
  • "123xyz"
  • [3.14]

こういう風にすればOKです。実際、こうやって使えました。

注意として、シングルクォートでくくるのはダメです。
シングルクォートでくくると別の意味(文字列)になります。
文字列のエスケープ処理 - SQLiteのデータ型 - SQLite入門

ところで、名前の中にダブルクォートを含めることはできるのだろうか?
(あ、そのために、二種類の囲み文字が用意されているのだな?)
それか、ダブルクォートの前にもう一個ダブルクォートを重ねれば
それでエスケープになるのかも。


参考:http://catalogue.pearsoned.co.uk/samplechapter/067232685X.pdf

Naming Conventions

Each database, table, column, index, trigger, or view has a name by which it is identified and almost always the name is supplied by the developer.The rules governing how a valid identifier is formed in SQLite are set out in the next few sections.

Valid Characters

An identifier name must begin with a letter or the underscore character, which may be followed by a number of alphanumeric characters or underscores. No other characters may be present.These identifier names are valid:

  • mytable
  • my_field
  • xyz123
  • a

However, the following are not valid identifiers:

  • my table
  • my-field
  • 123xyz

You can use other characters in identifiers if they are enclosed in double quotes (or square brackets), for example:

  sqlite> CREATE TABLE "123 456"("hello-world", " ");

Name Length

SQLite does not have a fixed upper limit on the length of an identifier name, so any name that you find manageable to work with is suitable.

トラックバック(0)

このブログ記事を参照しているブログ一覧: SQLiteの命名規則

このブログ記事に対するトラックバックURL: https://nozawashinichi.sakura.ne.jp/MT-4.25/mt-tb.cgi/1084

comments powered by Disqus

このブログ記事について

このページは、Shinichi Nozawaが2013年4月25日 10:59に書いたブログ記事です。

ひとつ前のブログ記事は「CGIでSQLiteを動かすとき」です。

次のブログ記事は「指定したファイルのパーミションを取得する」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。