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,  

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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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

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

좋은 웹페이지 즐겨찾기