다중 쿼리 / 문자열 비교
문자열 비교
항상 대소문자를 구분 짓던가 하나로 통일시키는 작업이 필요
select 'admin'='Admin' # 같음
일부 dbms에서는 type에 따라 문자열 구분
CHAR형태는 지정한 type의 크기에 따라 공백을 padding으로 채워 넣는다. LIKE연산에서는 서로 다르다고 나오지만 비교 연산에서는 공백이 있는 거랑 없는 거랑 동일하다고 나온다.
mysql> CREATE TABLE names (myname CHAR(10));
Query OK, 0 rows affected (0.03 sec)
mysql> INSERT INTO names VALUES ('Jones');
Query OK, 1 row affected (0.00 sec)
mysql> SELECT myname = 'Jones', myname = 'Jones ' FROM names;
+------------------+--------------------+
| myname = 'Jones' | myname = 'Jones ' |
+------------------+--------------------+
| 1 | 1 |
+------------------+--------------------+
1 row in set (0.00 sec)
mysql> SELECT myname LIKE 'Jones', myname LIKE 'Jones ' FROM names;
+---------------------+-----------------------+
| myname LIKE 'Jones' | myname LIKE 'Jones ' |
+---------------------+-----------------------+
| 1 | 0 |
+---------------------+-----------------------+
1 row in set (0.00 sec)
다중 쿼리
다중 쿼리는 싱글 라인에 여러가지 쿼리를 중첩시켜 실행할 수 있는 것을 의미한다.
SELECT 1; INSERET INTO temp(1,1,1); DELETE FROM temp;
php에서는 PDO를 통해 단일 쿼리만 가능하게 할 수 있고 exec()은 다중 쿼리가 가능
<?php
$db1 = new PDO('sqlite:test1.db');
$db2 = new PDO('sqlite:test2.db');
$query = 'select 1234;create table test(test int);';
$db1->query($query);
$db2->exec($query);
?>
❗ 저작권