新しいテーブルの作成時に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)
-
同じテーブルの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
-
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