5, mysql 데이터베이스 작업 및 SQL 언어

1, 데이터베이스 만들기,create datebase 데이터베이스 이름, 여기kenan에 데이터베이스 이름 myfirstdb 만들기
   
   
   
   
  1. create database myfirstdb; 

2, 모든 데이터베이스 보기
   
   
   
   
  1. show databases; 

3. 데이터베이스를 선택하고 먼저 데이터베이스를 선택해야만 선택한 데이터베이스에서 데이터베이스 조작을 할 수 있다.
   
   
   
   
  1. use myfirstdb; 

4, 데이터베이스 삭제
   
   
   
   
  1. drop database myfirstdb; 

데이터베이스의 첨삭 수정
여기는use를 사용하여 조작할 데이터베이스를 선택해야 합니다
1, 데이터베이스 테이블 만들기
 
   
   
   
   
  1. use myfirstdb;  
  2. create table user(  
  3. id int auto_increment primary key,  
  4. username varchar(50) not null,  
  5. password varchar(50) not null,  
  6. createtime datetime,  
  7. ) 

user라는 테이블을 만들었습니다. id는 int형입니다. autoincreatement는 이것이 자증 필드임을 표시하고primary 키는 이것이 메인 키임을 나타냅니다.username varchar(50)는userame가 가변 문자의 길이임을 나타냅니다.not null은 이 필드가 비어 있을 수 없음을 나타냅니다.createtime datetime 필드cratetime는 날짜와 시간 형식입니다.
2, 테이블 구조 보기
   
   
   
   
  1. mysql> desc user;  
  2. +------------+-------------+------+-----+---------+----------------+  
  3. | Field      | Type        | Null | Key | Default | Extra          |  
  4. +------------+-------------+------+-----+---------+----------------+  
  5. | id         | int(11)     | NO   | PRI | NULL    | auto_increment |  
  6. | username   | varchar(50) | NO   |     | NULL    |                |  
  7. | password   | varchar(50) | NO   |     | NULL    |                |  
  8. | createtime | datetime    | YES  |     | NULL    |                |  
  9. +------------+-------------+------+-----+---------+----------------+  
  10. 4 rows in set (0.01 sec)  
  11.  
  12. mysql> show columns from user;  
  13. +------------+-------------+------+-----+---------+----------------+  
  14. | Field      | Type        | Null | Key | Default | Extra          |  
  15. +------------+-------------+------+-----+---------+----------------+  
  16. | id         | int(11)     | NO   | PRI | NULL    | auto_increment |  
  17. | username   | varchar(50) | NO   |     | NULL    |                |  
  18. | password   | varchar(50) | NO   |     | NULL    |                |  
  19. | createtime | datetime    | YES  |     | NULL    |                |  
  20. +------------+-------------+------+-----+---------+----------------+  
  21. 4 rows in set (0.01 sec) 

3, 테이블 구조 수정
열 추가
   
   
   
   
  1. mysql> alter table user add age int;  
  2. Query OK, 0 rows affected (0.25 sec)  
  3. Records: 0  Duplicates: 0  Warnings: 0  

열 수정
   
   
   
   
  1. mysql> alter table user modify username varchar(30);  
  2. Query OK, 0 rows affected (0.19 sec)  
  3. Records: 0  Duplicates: 0  Warnings: 0 
modify

수정된 테이블 구조
   
   
   
   
  1. mysql> desc user;  
  2. +------------+-------------+------+-----+---------+----------------+  
  3. | Field      | Type        | Null | Key | Default | Extra          |  
  4. +------------+-------------+------+-----+---------+----------------+  
  5. | id         | int(11)     | NO   | PRI | NULL    | auto_increment |  
  6. | username   | varchar(30) | YES  |     | NULL    |                |  
  7. | password   | varchar(50) | NO   |     | NULL    |                |  
  8. | createtime | datetime    | YES  |     | NULL    |                |  
  9. | age        | int(11)     | YES  |     | NULL    |                |  
  10. +------------+-------------+------+-----+---------+----------------+  
  11. 5 rows in set (0.01 sec) 

4, 테이블 삭제
   
   
   
   
  1. mysql> drop table user;  
  2. Query OK, 0 rows affected (0.03 sec) 

5, 데이터 삽입
   
   
   
   
  1. mysql> insert into user values(null,'kenan','kenan',now());  
  2. Query OK, 1 row affected (0.13 sec) 
, ,

6, 데이터 조회
   
   
   
   
  1. mysql> select * from user;  
  2. +----+----------+----------+---------------------+  
  3. | id | username | password | createtime          |  
  4. +----+----------+----------+---------------------+  
  5. |  1 | kenan    | kenan    | 2012-10-30 21:46:31 |  
  6. +----+----------+----------+---------------------+  
  7. 1 row in set (0.00 sec)  
  8.  
  9. mysql> select username,password from user;  
  10. +----------+----------+  
  11. | username | password |  
  12. +----------+----------+  
  13. | kenan    | kenan    |  
  14. +----------+----------+  
  15. 1 row in set (0.00 sec) 
user , * , username password

 
6,where 문구가 있는 조건 조회
   
   
   
   
  1. mysql> select * from user where id > 1;  
  2. mysql> select * from user where username = 'kenan';  
  3. mysql> select * from user where username = 'kenan' and id = 1; 
where , id, username , and

7, 그룹 by 쿼리 결과 그룹화
   
   
   
   
  1. mysql> select * from user;  
  2. +----+----------+----------+---------------------+  
  3. | id | username | password | createtime          |  
  4. +----+----------+----------+---------------------+  
  5. |  1 | kenan    | kenan    | 2012-10-30 21:46:31 |  
  6. |  2 | lele     | lele     | 2012-10-31 15:01:20 |  
  7. |  3 | kenan    | lele     | 2012-10-31 15:06:46 |  
  8. +----+----------+----------+---------------------+  
  9. 3 rows in set (0.00 sec)  
  10.  
  11. mysql> select * from user group by username;  
  12. +----+----------+----------+---------------------+  
  13. | id | username | password | createtime          |  
  14. +----+----------+----------+---------------------+  
  15. |  1 | kenan    | kenan    | 2012-10-30 21:46:31 |  
  16. |  2 | lele     | lele     | 2012-10-31 15:01:20 |  
  17. +----+----------+----------+---------------------+  
  18. 2 rows in set (0.04 sec)  
  19.  
  20. mysql> select username,avg(id) from user group by username;  
  21. +----------+---------+  
  22. | username | avg(id) |  
  23. +----------+---------+  
  24. | kenan    |  2.0000 |  
  25. | lele     |  2.0000 |  
  26. +----------+---------+  
  27. 2 rows in set (0.04 sec)  
  28. mysql> select username,sum(id) from user group by username;  
  29. +----------+---------+  
  30. | username | sum(id) |  
  31. +----------+---------+  
  32. | kenan    |       4 |  
  33. | lele     |       2 |  
  34. +----------+---------+  
  35. 2 rows in set (0.03 sec) 
group by , username , username , sql sql avg(),sum() , , group by ,avg() , sum() 。

8,order by 결과 정렬
   
   
   
   
  1. mysql> select * from user;  
  2. +----+----------+----------+---------------------+  
  3. | id | username | password | createtime          |  
  4. +----+----------+----------+---------------------+  
  5. |  1 | kenan    | kenan    | 2012-10-30 21:46:31 |  
  6. |  2 | lele     | lele     | 2012-10-31 15:01:20 |  
  7. |  3 | kenan    | lele     | 2012-10-31 15:06:46 |  
  8. +----+----------+----------+---------------------+  
  9. 3 rows in set (0.00 sec)  
  10.  
  11. mysql> select * from user order by username;  
  12. +----+----------+----------+---------------------+  
  13. | id | username | password | createtime          |  
  14. +----+----------+----------+---------------------+  
  15. |  1 | kenan    | kenan    | 2012-10-30 21:46:31 |  
  16. |  3 | kenan    | lele     | 2012-10-31 15:06:46 |  
  17. |  2 | lele     | lele     | 2012-10-31 15:01:20 |  
  18. +----+----------+----------+---------------------+  
  19. 3 rows in set (0.00 sec)  
  20.  
  21. mysql> select * from user order by id;  
  22. +----+----------+----------+---------------------+  
  23. | id | username | password | createtime          |  
  24. +----+----------+----------+---------------------+  
  25. |  1 | kenan    | kenan    | 2012-10-30 21:46:31 |  
  26. |  2 | lele     | lele     | 2012-10-31 15:01:20 |  
  27. |  3 | kenan    | lele     | 2012-10-31 15:06:46 |  
  28. +----+----------+----------+---------------------+  
  29. 3 rows in set (0.00 sec)  
  30.  
  31. mysql> select * from user order by id desc 
  32.     -> ;  
  33. +----+----------+----------+---------------------+  
  34. | id | username | password | createtime          |  
  35. +----+----------+----------+---------------------+  
  36. |  3 | kenan    | lele     | 2012-10-31 15:06:46 |  
  37. |  2 | lele     | lele     | 2012-10-31 15:01:20 |  
  38. |  1 | kenan    | kenan    | 2012-10-30 21:46:31 |  
  39. +----+----------+----------+---------------------+  
  40. 3 rows in set (0.00 sec)  
  41.  
  42. mysql> select * from user order by username,id;  
  43. +----+----------+----------+---------------------+  
  44. | id | username | password | createtime          |  
  45. +----+----------+----------+---------------------+  
  46. |  1 | kenan    | kenan    | 2012-10-30 21:46:31 |  
  47. |  3 | kenan    | lele     | 2012-10-31 15:06:46 |  
  48. |  2 | lele     | lele     | 2012-10-31 15:01:20 |  
  49. +----+----------+----------+---------------------+  
  50. 3 rows in set (0.00 sec) 
sql , user , , id username , username order by id id order by id desc id , desc order by username,id , username ,username , id NULL , NULL

9,distinct의 사용법
   
   
   
   
  1. mysql> select distinct username from user;  
  2. +----------+  
  3. | username |  
  4. +----------+  
  5. | kenan    |  
  6. | lele     |  
  7. +----------+  
  8. 2 rows in set (0.00 sec) 
distinct ,

10, like 모호한 조회
   
   
   
   
  1. mysql> select * from user where username like 'ke%';  
  2. +----+----------+----------+---------------------+  
  3. | id | username | password | createtime          |  
  4. +----+----------+----------+---------------------+  
  5. |  1 | kenan    | kenan    | 2012-10-30 21:46:31 |  
  6. |  3 | kenan    | lele     | 2012-10-31 15:06:46 |  
  7. +----+----------+----------+---------------------+  
  8. 2 rows in set (0.00 sec)  
  9.  
  10. mysql> select * from user where username like '_e%';  
  11. +----+----------+----------+---------------------+  
  12. | id | username | password | createtime          |  
  13. +----+----------+----------+---------------------+  
  14. |  1 | kenan    | kenan    | 2012-10-30 21:46:31 |  
  15. |  2 | lele     | lele     | 2012-10-31 15:01:20 |  
  16. |  3 | kenan    | lele     | 2012-10-31 15:06:46 |  
  17. +----+----------+----------+---------------------+  
  18. 3 rows in set (0.01 sec) 
like sql , uername ke sql , username e % 0 ,_

11, LIMIT는 결과 줄 수를 제한하여 페이지 조회를 진행한다
   
   
   
   
  1. mysql> select * from user limit 1;  
  2. +----+----------+----------+---------------------+  
  3. | id | username | password | createtime          |  
  4. +----+----------+----------+---------------------+  
  5. |  1 | kenan    | kenan    | 2012-10-30 21:46:31 |  
  6. +----+----------+----------+---------------------+  
  7. 1 row in set (0.00 sec)  
  8.  
  9. mysql> select * from user limit 1,2;  
  10. +----+----------+----------+---------------------+  
  11. | id | username | password | createtime          |  
  12. +----+----------+----------+---------------------+  
  13. |  2 | lele     | lele     | 2012-10-31 15:01:20 |  
  14. |  3 | kenan    | lele     | 2012-10-31 15:06:46 |  
  15. +----+----------+----------+---------------------+  
  16. 2 rows in set (0.00 sec) 
limit limit 1 1 x, x limit 1,2 limit                , 0 ( , ), id                             ,               ( ) , x , y x (x-1)*y sql select * from user limit (x-1)*y,y;

12, 레코드 수정
   
   
   
   
  1. mysql> update user set createtime = now() where username = 'kenan';  
  2. Query OK, 2 rows affected (0.05 sec)  
  3. Rows matched: 2  Changed: 2  Warnings: 0 
user username kenan createtime ,

13, 레코드 삭제
   
   
   
   
  1. mysql> delete from user where username = 'lele';  
  2. Query OK, 1 row affected (0.06 sec) 
user username lele

오늘은 여기까지 쓰겠습니다. 이것은 가장 긴 블로그입니다. 여러분들이 질문이 있으면 저에게 답장해 주십시오!

좋은 웹페이지 즐겨찾기