Test 환경용으로 제공되는 test database 를 사용할 예정입니다.
1에서는 select 와 insert 먼저 알아보겠습니다.
1. 접속
[root@localhost system]# mysql -u root -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 3
Server version: 5.5.68-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> show databases;
-> ;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
+--------------------+
4 rows in set (0.01 sec)
MariaDB [(none)]> use test;
Database changed
MariaDB [test]> show tables;
Empty set (0.00 sec)
Empty 인걸 확인하고, 아래와 같이 하나의 test 테이블을 만듭니다.
2. 데이터베이스 선택 / 테이블 생성
MariaDB [test]> CREATE TABLE users (
-> id INT AUTO_INCREMENT PRIMARY KEY, --id 는 1~자동 생성
-> username VARCHAR(50) NOT NULL, --Name
-> email VARCHAR(100) NOT NULL, --email
-> created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP --생성 시간
-> );
Query OK, 0 rows affected (0.00 sec)
3. 데이터 Insert
테이블을 생성하고 데이터가 없으므로, 신규 데이터를 넣어줍니다.
insert into > 형식으로 사용해야합니다.
단일 value : insert into "테이블명"("Column1", "Column2") Values("Column1에 넣을 값", "Column2에 넣을 값");
복수 value : insert into "테이블명"(Coulmn1", "Column2") Values
("Column1에 넣을 값", "Column2에 넣을 값"), -- 1번
("Column1에 넣을 값", "Column2에 넣을 값"), -- 2번
("Column1에 넣을 값", "Column2에 넣을 값"); -3번
예시) insert into users(username, email) values('ryu', 'ryu@test.com');
MariaDB [test]> desc users;
+------------+--------------+------+-----+-------------------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+--------------+------+-----+-------------------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| username | varchar(50) | NO | | NULL | |
| email | varchar(100) | NO | | NULL | |
| created_at | timestamp | NO | | CURRENT_TIMESTAMP | |
+------------+--------------+------+-----+-------------------+----------------+
4 rows in set (0.00 sec)
MariaDB [test]> insert into users(username, email) values('ryu', 'ryu@test.com');
Query OK, 1 row affected (0.01 sec)
MariaDB [test]> select * from users;
+----+----------+--------------+---------------------+
| id | username | email | created_at |
+----+----------+--------------+---------------------+
| 1 | ryu | ryu@test.com | 2024-03-13 22:14:42 |
+----+----------+--------------+---------------------+
1 row in set (0.00 sec)
위와 같이 정상적으로 데이터가 들어간 것을 확인할 수 있습니다.
여러 값을 예시로 넣어서 아래 select 확인해보겠습니다.
4. 데이터 select
select 는 데이터 검색하는 용도로 사용합니다.
-전체 데이터 검색
select * from "table" ; > table 데이터 모든 결과
-특정 열 데이터 검색
select "column1" from "table";
select "column1", "column2" from "table";
MariaDB [test]> insert into users (username, email) VALUES('kim', 'kim@test.com'), ('joe', 'joe@test.com'), ('choi', 'choi@test.com');
Query OK, 4 rows affected (0.01 sec)
Records: 4 Duplicates: 0 Warnings: 0
MariaDB [test]> select * from users;
+----+----------+---------------+---------------------+
| id | username | email | created_at |
+----+----------+---------------+---------------------+
| 1 | ryu | ryu@test.com | 2024-03-13 22:14:42 |
| 2 | kim | kim@test.com | 2024-03-13 22:54:12 |
| 3 | joe | joe@test.com | 2024-03-13 22:54:12 |
| 4 | choi | choi@test.com | 2024-03-13 22:54:12 |
+----+----------+---------------+---------------------+
4 rows in set (0.00 sec)
MariaDB [test]> select id from users;
+----+
| id |
+----+
| 1 |
| 3 |
| 4 |
| 5 |
+----+
4 rows in set (0.00 sec)
5. 조건에 맞는 데이터 검색
where, where like 형식으로 사용합니다.
select Column or * from TABLE where Coulmn = 'Value';
select Column or * from TABLE where like Column = '%value'%;
--%는 Linux에서 *과 같은 와일드 카드입니다.
MariaDB [test]> select * from users where id = 1; --id 값이 1인 데이터 검색
+----+----------+--------------+---------------------+
| id | username | email | created_at |
+----+----------+--------------+---------------------+
| 1 | ryu | ryu@test.com | 2024-03-13 22:14:42 |
+----+----------+--------------+---------------------+
MariaDB [test]> select * from users where username='ryu'; --username ryu 인 데이터 검색
+----+----------+------------------+---------------------+
| id | username | email | created_at |
+----+----------+------------------+---------------------+
| 1 | ryu | ryu@test.com | 2024-03-13 22:14:42 |
| 5 | ryu | ryutest@test.com | 2024-03-14 00:39:07 |
+----+----------+------------------+---------------------+
MariaDB [test]> select * from users where username like '%k%'; --username에서 k가 들어간 데이터 검색
+----+----------+--------------+---------------------+
| id | username | email | created_at |
+----+----------+--------------+---------------------+
| 2 | kim | kim@test.com | 2024-03-13 22:54:12 |
+----+----------+--------------+---------------------+
MariaDB [test]> select age, count(*) as age_count from age_users where age = 20 group by age; --age group, count값, age 20 인 사람만 데이터 검색
+-----+-----------+
| age | age_count |
+-----+-----------+
| 20 | 2 |
+-----+-----------+
'Database' 카테고리의 다른 글
[Database] MariaDB - Select, Insert, Update, Delete(3) (0) | 2024.03.14 |
---|---|
[Database] MariaDB - Select, Insert, Update, Delete(2) (0) | 2024.03.14 |
[Database] MariaDB Install (0) | 2024.03.13 |
[Database] MS SQL Server 2019 Express Edition 설치 (0) | 2022.05.04 |
[Database] MYSQL Install (0) | 2022.02.16 |