sql - 1일차 - 오후

2023. 9. 4. 14:43웹/백엔드-python

728x90
반응형

데이터베이스 생성하기

CREATE DATABASE IF NOT EXISTS mywork;

USE mywork;

데이터베이스 삭제하기

DROP DATEBASE mywork;

테이블 설계하기

항목 컬럼명 데이터타입
학번 student_no VARCHAR(20)
이름 student_name VARCHAR(100)
학년 grade TINYINT
class VARCHAR(50)
성별 gender VARCHAR(20)
나이 age SMALLINT
입학일 enter_date DATE
CREATE TABLE highschool_students
(
	student_no 		VARCHAR(20),
	student_name 		VARCHAR(100),
	grade 			TINYINT,
	class 			VARCHAR(50),
	gender 			VARCHAR(20),
	age 			SMALLINT,
	enter_date 		DATE
);

DESCRIBE highschool_stdents; #테이블 정보 보여줌

테이블 다시 만들어 보기..

CREATE TABLE highschool_students2
(
	student_no 		VARCHAR(20),
	student_name 		VARCHAR(100),
	grade 			TINYINT,
	class 			VARCHAR(50),
	gender 			VARCHAR(20),
	age 			SMALLINT,
	enter_date 		DATE
    	graduate_date		DATE
);

식별자

길이 최대 64

사용 가능 문자 - 숫자, 영문자, $, _(언더스코어)

대소문자 구분 함.

예약어 사용 금지 - ex) select, create 등...

※ 같은 이름의 테이블(객체) 존재 할 수 없음.

테이블 삭제

DROP TABLE [테이블명]

DROP TABLE highschool_students;

제약 조건

not null - 반드시 값 입력하는 조건

CREATE TABLE highschool_students
(
	student_no 		VARCHAR(20) NOT NULL,
	student_name 		VARCHAR(100) NOT NULL,
	grade 			TINYINT,
	class 			VARCHAR(50),
	gender 			VARCHAR(20),
	age 			SMALLINT,
	enter_date 		DATE
);

Null 부분이 NO로 되어 있다.

기본키 생성하기

CREATE TABLE highschool_students
(
	student_no 		VARCHAR(20) NOT NULL primary key,
	student_name 		VARCHAR(100) NOT NULL,
	grade 			TINYINT,
	class 			VARCHAR(50),
	gender 			VARCHAR(20),
	age 			SMALLINT,
	enter_date 		DATE
    	graduate_date		DATE
);

 

두번째 방법.

CREATE TABLE highschool_students
(
	student_no 		VARCHAR(20) NOT NULL,
	student_name 		VARCHAR(100) NOT NULL,
	grade 			TINYINT,
	class 			VARCHAR(50),
	gender 			VARCHAR(20),
	age 			SMALLINT,
	enter_date 		DATE,
    	graduate_date		DATE,
    	PRIMARY KEY(student_no)
);

컬럼 수정 해보기

ALTER TABLE highschool_students
DROP PRIMARY KEY;

DESC highschool_students;

ALTER TABLE highschool_students
ADD PRIMARY KEY (student_no);

DESC highschool_students;

유의할 점......
기본 키는 단 한개이다.
두개 이상의 컬럼으로 기본 키를 만들 수도 있다.
기본 키 칼럼에는 NOT NULL이 적용이 된다.

배치 파일을 활용해서 sql 문서 한번에 작동하기

"C:\Program Files\MySQL\MySQL Server 8.0\bin\mysql.exe" -u root --password="1234" < Example_create.sql
"C:\Program Files\MySQL\MySQL Server 8.0\bin\mysql.exe" -u root --password="1234" --default_character_set utf8 < 01.box_office_insert.sql
"C:\Program Files\MySQL\MySQL Server 8.0\bin\mysql.exe" -u root --password="1234" < 02.employees_insert.sql
"C:\Program Files\MySQL\MySQL Server 8.0\bin\mysql.exe" -u root --password="1234" < 03.departments_insert.sql
"C:\Program Files\MySQL\MySQL Server 8.0\bin\mysql.exe" -u root --password="1234" < 04.dept_manager_insert.sql
"C:\Program Files\MySQL\MySQL Server 8.0\bin\mysql.exe" -u root --password="1234" < 05.dept_emp_insert.sql
"C:\Program Files\MySQL\MySQL Server 8.0\bin\mysql.exe" -u root --password="1234" < 06.titles_insert.sql
"C:\Program Files\MySQL\MySQL Server 8.0\bin\mysql.exe" -u root --password="1234" < 07.salaries_insert.sql

 

이상 오류 

https://anythingcafe.tistory.com/5

 

[visual studio,.net,c#] 영어나 숫자 사이에 간격이 벌어져서 타이핑 될 때 해결법

종종 visual studio 뿐만 아니라 ms에서 제공되는 모든 프로그램들을 사용하다보면 아래 그림과 같이 영어 나 숫자 사이에 간격이 벌어지는 경우가 있다. 위 : 정상적으로 작성된 경우 아래 : 영어와

anythingcafe.tistory.com

반응형

' > 백엔드-python' 카테고리의 다른 글

insert 연습  (0) 2023.09.05
Role과 사용자 만들기 / select 연습  (0) 2023.09.05
sql - 1일차 -오전  (0) 2023.09.04
파이썬 가상환경  (0) 2023.09.03
파이썬 가상환경을 위한 설정  (0) 2023.09.01