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

MySQLテーブル名にアンダースコアを付けることはできますか?


テーブル名にアンダースコアを付けることはできません。それでもアンダースコア付きの新しいテーブルを作成する場合は、一重引用符ではなく、バッククォートを使用してテーブルを囲みます。

ただし、最初にアンダースコアを使用してテーブル名を引用符で囲んでみましょう。以下は例です-

mysql> create table 'Demo_Table725'(
   ClientId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   ClientName varchar(100),
   ClientAge int,
   ClientCountryName varchar(100),
   isMarried boolean
);

これにより、次の出力が生成されます。つまり、バックティックを使用していないため、エラーが発生します-

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds
to your MySQL server version for the right syntax to use near ''Demo_Table725'
(
ClientId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
ClientName v' at line 1

ここで、上記を修正し、バックティックを使用して同じテーブルを作成します-

mysql> create table `Demo_Table725`(
   ClientId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   ClientName varchar(100),
   ClientAge int,
   ClientCountryName varchar(100),
   isMarried boolean
);
Query OK, 0 rows affected (0.58 sec)

挿入コマンド-

を使用して、テーブルにいくつかのレコードを挿入します
mysql> insert into `Demo_Table725`(ClientName,ClientAge,ClientCountryName,isMarried) values('John',34,'US',true);
Query OK, 1 row affected (0.40 sec)
mysql> insert into `Demo_Table725`(ClientName,ClientAge,ClientCountryName,isMarried) values('Chris',28,'UK',false);
Query OK, 1 row affected (0.25 sec)

selectステートメントを使用してテーブルのすべてのレコードを表示する-

mysql> select *from `Demo_Table725`;

これにより、次の出力が生成されます-

+----------+------------+-----------+-------------------+-----------+
| ClientId | ClientName | ClientAge | ClientCountryName | isMarried |
+----------+------------+-----------+-------------------+-----------+
| 1        | John       | 34        | US                | 1         |
| 2        | Chris      | 28        | UK                | 0         |
+----------+------------+-----------+-------------------+-----------+
2 rows in set (0.00 sec)

  1. MySQLに値を挿入するときに列名をスキップできますか?

    はい、できます。まずテーブルを作成しましょう- mysql> create table DemoTable    -> (    -> StudentName varchar(100),    -> StudentAge int    -> ); Query OK, 0 rows affected (0.72 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable(StudentAge) value

  2. MySQLのテーブル名としてアンダースコアを付けることは可能ですか?

    はい、テーブル名の前後にバッククォートを使用して、テーブル名としてアンダースコアを追加できます。以下は構文です- INSERT INTO `yourTableName` values(yourValue1,.......N); まずテーブルを作成しましょう- mysql> create table `DemoTable_1` (    Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,    Location varchar(100) ); Query OK, 0 rows affected (1.17 sec