본문 바로가기

분류 전체보기162

[mysql] python jupyter notebook / vscode 모두 사용 가능 01. 접속하는 법 02.접속한 DB에 대해서 쿼리문을 날려주는 법 01. Create Connection import mysql.connector mydb = mysql.connector.connect( host = , user = , port = , password = , ) local 으로 생성할때는 localhost, user은 root / AWS RDS로 접근할때는 엔드포인트와 포트num을 추가해주면 된다. 02. Execute SQL import mysql.connector remote = mysql.connector.connect( host = "엔드포인트", port = 포트, user = "admin", password = ".. 2022. 12. 8.
InterfaceError: Use multi=True when executing multiple statements 여러가지 Query 문을 실행하고자 할 때, multi = True를 명시해주어야 한다. cur = remote.cursor() sql = open("test04.sql").read() cur.execute(sql, multi=True) remote.close() 커서를 실행하는 구문에 multi=True 입력한다. 이렇게만 써도 되지만, 글쓴이는 코드가 돌아가는 것을 출력문으로 확인하고 싶어 for문을 돌려보았다. test04.sql 파일에 적어준 쿼리문들이 제대로 작동하는 것을 확인했다. 2022. 12. 8.
AttributeError: '_io.TextIOWrapper' object has no attribute 'encode' 틀린 부분이 없다고 생각했는데 ERROR 발생했다. 정말 어이없게도 open("") 뒤에 .read()를 써주지 않아 발생한 에러였다. remote = mysql.connector.connect( host = , port = , user = "", password = "", database = "" ) cur = remote.cursor() sql = open("test03.sql").read() cur.execute(sql) remote.close() 코드 수정 후 실행되었다. 2022. 12. 8.
[mysql] backup / restore STEP 01 # 터미널에서 sql_ws 생성, vscode 접속 ( base 상태에서 진행 ) cd Documents mkdir sql_ws cd sql_ws code . - source ~ : vscode에서 table 만들어주고 terminal에서 불러오기. »»» mysql -u root -p zerobase database접속 -> vscode에서 작업한 test02.sql 파일 source 작업 할 수 있다. STEP 02. [DATABASE] backup / restore mysqldump -u root -p zerobase > zerobase.sql mysql의 database인 zerobase의 내용을 zerobase.sq.. 2022. 12. 7.
AWS RDS AWS RDS 접속 - terminal AWS RDS 원격 실행 (대문자 P 포트와 password p 구분) mysql -h -P -u -p 2022. 12. 7.
[mysql] Union / Join / Concat / Alias / Distinct / Limit 01. UNION / UNION ALL : 여러개의 SQL문을 합쳐서 하나의 SQL 문으로 만들어주는 방법 (주의:칼럼의 개수가 같아야 함) UNION : 중복된 값을 제거하여 알려준다. UNION ALL : 중복된 값도 모두 보여준다. # 가수가 직업인 연예인의 이름, 직업을 검색하는 쿼리와 # 1980년대에 태어난 연예인의 이름, 생년월일, 나이를 검색하는 쿼리를 UNION으로 실행 SELECT name, job_title FROM celab where job_title LIKE '%가수%' UNION SELECT name, birthday, age FROM celab where birthday BETWEEN '1980-01-01' AND '1989-12-31'; ========> ERROR 1222.. 2022. 12. 5.
[mysql] Logical Operators 연산자 의미 AND 조건을 모두 만족하는 경우 TRUE OR 하나의 조건이라도 만족하는 경우 TRUE NOT 조건을 만족하지 않는 경우 TRUE BETWEEN 조건값이 범위 사이에 있으면 TRUE IN 조건값이 목록에 있으면 TRUE LIKE 조건값이 패턴에 맞으면 TRUE (문자열에서 사용한다) AGE # 성별이 남자이고 나이가 40세보다 큰 데이터를 이름의 역순으로 정렬하여 검색 select * from celab where sex='M' and age>40 order by name DESC; OR # 나이가 25세보다 작거나 30세보다 큰 데이터 검색 select * from celab where age30 order by age; # 아이디가 홀수면서 성별이 남자거나, 아이디가 짝수면서 소속사가 .. 2022. 12. 4.
[mysql] ORDER BY / Comparison Operators Step 01. INSERT INTO -- VALUES create table celab -> ( -> ID int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> NAME varchar(32) NOT NULL DEFAULT '', -> BIRTHDAY date, -> AGE int, -> SEX char(1), -> JOB_TITLE varchar(32), -> AGENCY varchar(32) -> ); celab table을 create해준다. SEX는 한글자만 들어갈거라 char(1)로 적어줬다. varchar는 문자열을 뜻한다. NULL은 허용여부, key값은 데이터를 구분하는 unique한 구분자, DEFAULT '' 은 디폴트값을 공백으로 설정하면서 name값을 입력하.. 2022. 12. 4.
[mysql] insert / select / where / update / delete Step 01. 실습환경 setting create table person ( id int, name varchar(16), age int, sex CHAR ); person table을 create한다. column으로는 id, name, age, sex를 넣어준다. insert into person (id, name, age, sex) -> values( 1, "이효리", 43, 'F'); person의 ()안 컬럼에 values를 insert 해준다. select * from person; 은 desc person; 과는 다른 형태로 세부내용을 확인 가능하게 한다. 필요에 따라 사용하면 될 것 같다. Step 02. select_where select * from person; person의 모든 .. 2022. 12. 4.