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

新しいテーブルの作成時にVARCHARのサイズを含めない場合、MySQLは機能しますか?


いいえ、クエリは機能しません。同じシナリオを作成して、エラーを確認しましょう-

mysql> create table DemoTable1821
     (
     Id int,
     FirstName varchar,
     LastName varchar
     );
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 ',
LastName varchar
)' at line 4

上記のエラーを取り除くには、varchar(10)のサイズを指定する必要があります。まずテーブルを作成しましょう-

mysql> create table DemoTable1821
     (
     Id int,
     FirstName varchar(10),
     LastName varchar(10)
     );
Query OK, 0 rows affected (0.00 sec)

挿入コマンド-

を使用して、テーブルにいくつかのレコードを挿入します
mysql> insert into DemoTable1821 values(1,'John','Smith');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1821 values(2,'John','Doe');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1821 values(3,'Adam','Smith');
Query OK, 1 row affected (0.00 sec)

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

mysql> select * from DemoTable1821;

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

+------+-----------+----------+
| Id   | FirstName | LastName |
+------+-----------+----------+
|    1 | John      |    Smith |
|    2 | John      |       Doe|
|    3 | Adam      |    Smith |
+------+-----------+----------+
3 rows in set (0.00 sec)

  1. 同じテーブルのvarchar列から整数にIPアドレスをコピーするMySQLクエリ?

    これには、INET_ATON()を使用できます。まず、-を作成しましょう mysql> create table DemoTable1404    -> (    -> IpAddress varchar(40)    -> ); Query OK, 0 rows affected (1.02 sec) insert-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1404 values('192.168.120.0'); Q

  2. MySQLのテーブルAと比較しているときに、データがテーブルBにない場合は、データをテーブルCに挿入しますか?

    これには、テーブルAとBで左結合を使用します。最初のテーブルを作成しましょう- mysql> create table demo20 −> ( −> id int, −> name varchar(20) −> ); Query OK, 0 rows affected (1.87 sec) 挿入コマンド-を使用して、いくつかのレコードをテーブルに挿入します。 mysql> insert into demo20 values(100,'John'); Query OK, 1 row affect