SQL(Structed Query Languege)
1970년대 IBM이 SEQUEL 이라는 이름으로 개발한 관계형 데이터베이스 언어
1986년 ANSI 에서 표준언어로 승인
-Data SubLanguege... 데이터 구조에 관한 데이터를 생성하고 처리하는 문법만을 가지고 있다
기능에 따라 분류
- 데이터 정의어(DDL)
: CREATE(생성), ALTER(수정), DROP(삭제) 명령어 - 데이터 조작어(DML)
: INSERT, UPDATE, DELETE (테이블) - 데이터 제어어(DCL)
: GRANT, REVOKE, COMMIT, ROLLBACK 권한을 줬다 뺏었다 - 데이터 질의어(DQL)
: SELECT - TCL
: COMMIT, ROLLBACK
서점의 데이터

수행할 리스트
1.database 생성 : testdb
2. testdb use 명령어 지정하기
3. database 안에 데이터를 저장할 테이블 생성 : test 테이블(id, name)
4. 만든 테이블 확인 : show
5. 만든 테이블에 자료 입력 : insert 명령어
6. 입력한 자료 확인 : select
1.create database testdb; : testdb라는 database 생성

2.show databases; : 데이터베이스 확인

3. use testdb : testdb를 사용하겠다. 여기에다가 작업하겠다 이제.

4. create table test(id smallint unsigned primary key auto_incremebt, name varchar(20) not null);
: 테이블 생성하기
(id, name 담아서,
auto_increment : 데이터가 insert 될 때마다 데이터 값이 자동으로 증가, 여기에선 id값이 증가
var : 동적으로
char : 문자열느낌
(20) : 20자 이내로.
not null : 널값은 안되고.)

5. create user sinsaegeadmin@localhost identified by '1234';
grant all privileges on sinsaegebookdb.* to sinsaegeadmin@localhost;
commit;
: root 계정으로 sinsaegebookdb, sinsaegeadmin 사용자 생성 및 권한 부여

6. drop table book;
: 기존의 테이블 삭제(초기화 하는 느낌?)
7.mysql> create table Book(
-> Bookid INTEGER PRIMARY KEY,
-> Bookname VARCHAR(40),
-> publisher VARCHAR(40),
-> price INTEGER);
: Book 테이블 창설(?)
Bookid 라는 항목은 integer값으로 primary key로 설정하겠다.
bookname은 동적 문자열 40자 이내로
publisher는 동적 문자열 40자 이내로
price는 숫자로 하겠다.

8. 동일한 방식으로 table customer 와 orders 도 생성하였다.


9.mysql> INSERT INTO Book VALUES(1, '축구의 역사', '굿스포츠', 7000);
: book에 값으로 1 '축구의 역사', '굿스포츠', 7000 insert 하겠다.
아 일단 여기까지
뭔가 잘못됐을때... ctrl + c
...
...
MySQL 코드에 관한 내용
- Foreign key
: 외래키. 다른테이블에 있는 값 가져오는 느낌. 참조하는 느낌. 객체 변수안에 들어있는 주소값.
참조 무결성 제약조건을 위한 key..
->foreign key (속성) 참조할릴레이션이름 (속성) - primary key
: 기본키를 지정하는 키워드. - unique
: 대체키를 지정하는 키워드.
테이블 변경
Alter
- 새로운 속성 추가
alter table 테이블이름 add 속성이름 데이터타입; - 기존 속성 삭제
alter table 테이블이름 drop column 속성이름; - 제약조건 추가
alter table 테이블이름 add constraint 제약조건이름 제약조건내용;

- 제약조건 삭제
alter table 테이블이름 drop check 제약조건이름; (check 자리에 constraint가 들어가는 것도 될 때가 있다...) - 테이블 삭제
drop table 테이블 이름;
'데이터베이스 개인공부' 카테고리의 다른 글
| MySQL - (임시)심화 저장 프로그램, 함수들 (0) | 2024.01.22 |
|---|---|
| MySQL - 데이터조작어들 (0) | 2024.01.18 |
| 데이터베이스 - 관계대수 (0) | 2024.01.17 |
| 데이터베이스 - 관계 데이터 모델(릴레이션, 무결성 제약조건) (0) | 2024.01.16 |
| 데이터베이스 - 데이터베이스 시스템 (3) | 2024.01.15 |