MySQLÀÇ ±âº» ¸í·É¾î¿Í SQL¹® Á¤¸®. ³»°¡ RDBMS¿¡ ¿ÏÀü ¹®¿ÜÇÑÀ̱⠶§¹®¿¡ ±âº» SQLÄõ¸®±îÁö...
Redhat Linux 7.3, MySQL 3.23.58 ¿¡¼ Å×½ºÆ®ÇÔ.
¼³Ä¡´Â Redhat ±âº» Á¦°ø RPMÀ¸·Î Çß´Ù.
µ¥ÀÌÅͺ£À̽º Á¢¼Ó
$ mysql -u »ç¿ëÀÚ¸í -p dbname
¼³Ä¡ Á÷ÈÄ¿¡´Â root »ç¿ëÀÚ¿¡ ºñ¹Ð¹øÈ£°¡ ¾øÀ¸¹Ç·Î ´ÙÀ½°ú °°ÀÌ Á¢¼ÓÇÏ¿© MySQLÀ» °ü¸®ÇÒ ¼ö ÀÖ´Ù.
$ mysql -u root mysql
ºñ¹Ð¹øÈ£ º¯°æMySQLÀ» ¼³Ä¡ÇÑ Á÷ÈÄ¿¡´Â root °èÁ¤¿¡ ¾ÏÈ£°¡ ÁöÁ¤µÇ¾î ÀÖÁö ¾Ê´Ù.
´ÙÀ½ ¼¼°¡Áö ¹æ¹ýÀ¸·Î ºñ¹Ð¹øÈ£¸¦ º¯°æ ÇÒ ¼ö ÀÖ´Ù.
- mysqladminÀÌ¿ë
$ mysqladmin -u root password »õºñ¹Ð¹øÈ£
- update¹® ÀÌ¿ë
$ mysql -u root mysql
mysql> UPDATE user SET password=password('»õºñ¹Ð¹øÈ£') WHERE user='root';
mysql> FLUSH PRIVILEGES;
- Set Password ÀÌ¿ë
SET PASSWORD FOR root=password('»õºñ¹Ð¹øÈ£');
ÀÏ´Ü root ºñ¹Ð¹øÈ£°¡ ¼³Á¤µÈ »óÅ¿¡¼´Â mysqlÀ̳ª mysqladmin ¸í·ÉÀ» ½ÇÇàÇÒ ¶§ -p ¿É¼ÇÀ» ºÙ¿©ÁÖ°í ±âÁ¸ ºñ¹Ð¹øÈ£¸¦ ÀÔ·ÂÇØ¾ß¸¸ ÇÑ´Ù.
»ç¿ëÀÚ Ãß°¡/»èÁ¦
mysql> GRANT ALL PRIVILEGES ON dbname.* TO username@localhost IDENTIFIED BY 'password';
username À̶ó´Â »ç¿ëÀÚ¸¦ password¶ó´Â ºñ¹Ð¹øÈ£¸¦ °®µµ·Ï ÇÏ¿© Ãß°¡ÇÑ´Ù. usernameÀº dbnameÀ̶ó´Â
µ¥ÀÌŸº£À̽º¿¡ ´ëÇØ ¸ðµç ±ÇÇÑÀ» °¡Áö°í ÀÖ´Ù.
username »ç¿ëÀÚ´Â ·ÎÄ® È£½ºÆ®¿¡¼¸¸ Á¢¼ÓÇÒ ¼ö ÀÖ´Ù. ´Ù¸¥ È£½ºÆ®¿¡¼ Á¢¼ÓÇÏ·Á¸é
GRANT ALL PRIVILEGES ON dbname.* TO username@'%' IDENTIFIED BY 'password';
À§¸¦ ¶ÇÇÑ ¹ø ½ÇÇàÇÑ´Ù. '%'¿¡¼ Ȭµû¿ÈÇ¥¸¦ ÁÖÀÇÇÑ´Ù.
Ãß°¡ : '%'¸¦ È£½ºÆ®³×ÀÓÀ¸·Î ÁöÁ¤Çصµ ¸ðµç È£½ºÆ®¿¡¼ Á¢¼ÓÇÒ ¼ö ¾ø¾ú´Ù. °¢ È£½ºÆ®º°·Î ´Ù ÁöÁ¤ÇØ¾ß Çß´Ù.ºÒÇÊ¿äÇÑ »ç¿ëÀÚ »èÁ¦´Â
mysql> DLETE FROM user WHERE user='username';
mysql> FLUSH PRIVILEGES;
µ¥ÀÌÅͺ£À̽º »ý¼º/º¸±â
- µ¥ÀÌÅͺ£À̽º¸¦ »ý¼ºÇϰí,
mysql> CREATE DATABASE dbname;
- ÇöÀç Á¸ÀçÇÏ´Â µ¥ÀÌÅͺ£À̽º ¸ñ·ÏÀ» º¸¿©ÁØ´Ù.
mysql> SHOW DATABASES;
- ƯÁ¤ µ¥ÀÌŸº£À̽º¸¦ »ç¿ëÇÏ°Ú´Ù°í ¼±¾ðÇÑ´Ù.
mysql> USE dbname;
- ¾µ¸ð ¾øÀ¸¸é °ú°¨È÷ »èÁ¦ÇÑ´Ù.
mysql> DROP DATABASE [IF EXISTS] dbname;
IF EXISTS ¿É¼ÇÀº ºñ·Ï µ¥ÀÌŸº£À̽º°¡ ¾ø´õ¶óµµ ¿À·ù¸¦ ¹ß»ý½ÃŰÁö ¸»¶ó´Â ÀǹÌÀÌ´Ù.
Å×ÀÌºí »ý¼º/º¸±â
- Å×À̺íÀ» »ý¼ºÇϰí,
mysql> CREATE TABLE tablename (
column_name1 INT,
column_name2 VARCHAR(15),
column_name3 INT );
- ÇöÀç µ¥ÀÌŸº£À̽ºÀÇ Å×ÀÌºí ¸ñ·ÏÀ» º¸°í
mysql> SHOW TABLES;
- Å×ÀÌºí ±¸Á¶¸¦ »ìÆìº»´Ù.
mysql> EXPLAIN tablesname;
ȤÀº
mysql> DESCRIBE tablename;
- À̸§À» À߸ø ÁöÁ¤ÇßÀ¸¸é À̸§À» º¯°æÇÒ ¼öµµ ÀÖ´Ù.
mysql> RENAME TABLE tablename1 TO tablename2[, tablename3 TO tablename4];
- ÇÊ¿ä ¾øÀ¸¸é »èÁ¦ÇÑ´Ù.
mysql> DROP TABLE [IF EXISTS] tablename;
ÇöÀç »óÅ º¸±â
mysql> status
--------------
mysql Ver 11.18 Distrib 3.23.58, for pc-linux (i686)
Connection id: 26
Current database: study
Current user: study@localhost
Current pager: stdout
Using outfile: ''
Server version: 3.23.58
Protocol version: 10
Connection: Localhost via UNIX socket
Client characterset: latin1
Server characterset: euc_kr
UNIX socket: /var/lib/mysql/mysql.sock
Uptime: 2 hours 9 min 59 sec
Threads: 1 Questions: 160 Slow queries: 0 Opens: 28 Flush tables: 1
Open tables: 1 Queries per second avg: 0.021
--------------
INSERT
mysql> INSERT INTO tablename VALUES(°ª1, °ª2, ...);
ȤÀº
mysql> INSERT INTO tablename (col1, col2, ...) VALUES(°ª1, °ª2, ...);
SELECT
mysql> SELECT col1, col2, ... FROM tablename;
Ä÷³¸íÀ» *·Î ÇÏ¸é ¸ðµç Ä÷³ ÀǹÌ.
mysql> SELECT col1 AS '¼º¸í', col2 AS '±¹¾îÁ¡¼ö' FROM grade;
Ä÷³ÀÇ À̸§À» ¹Ù²ã¼ Ãâ·Â.
mysql> SELECT * FROM tablename ORDER BY col1 DESC;
mysql> SELECT col1, korean + math english AS 'ÃÑÁ¡' FROM tablename ORDER BY 'ÃÑÁ¡' ASC;
DESC´Â ³»¸²Â÷¼ø
ASC´Â ¿À¸§Â÷¼ø.
mysql> SELECT * FROM grade WHERE korean < 90;
Á¶°ÇÁ༠SELECT.
mysql> SELECT * FROM grade LIMIT 10;
°á°úÁß Ã³À½ºÎÅÍ 10°³¸¸ °¡Á®¿À±â
mysql> SELECT * FROM grade LIMIT 100, 10;
°á°úÁß 100¹øÂ°ºÎÅÍ 10°³¸¸ °¡Á®¿À±â.
ù¹øÂ° ·¹ÄÚµå´Â 0¹ø ºÎÅÍ ½ÃÀÛÇÑ´Ù.
UPDATE
mysql> UPDATE tablename SET col1=»õ°ª WEHER Á¶°Ç
DELETE
mysql> DELETE FROM tablename WEHRE Á¶°Ç
mysql¿¡¼ Äõ¸® °á°ú ¼¼·Î·Î º¸±â-E ¿É¼ÇÀ» Á༠½ÇÇàÇÑ´Ù.
$ mysql -E -u root -p mysql
mysql¿¡¼ ¹ß»ýÇÑ ¿À·ù³ª °æ°í ´Ù½Ã º¸±â
mysql> show errors;
mysql> show warnings;