코딩공부/DB
mysql 데이터베이스 기본 명령어
표자
2022. 12. 6. 20:32
728x90
반응형
mysql
# 데이터베이스를 만들겠다.
create database firstBase;
# 해당 데이터 베이스를 사용하겠다
use firstBase;
# 테이블 생성
create table student(
id int primary key auto_increment, #칼럼명 자료형 제약조건 , (primary key -> (not null&& unique) auto_increment-> 자동으로 숫자를 늘려준다 ex) 1,2,3,4
name varchar(50), #칼럼명 자료형 (varchar(50) => 문자를 50자 까지)
age int,
email varchar(50)
);
#city 테이블 생성
create table city(
id int primary key auto_increment,
city_name varchar(50)
);
#검색기능
select * #모든 걸 선택 찾겠다 ->
from student; #student 테이블에서.
select*
from city;
#테이블에 자료 추가
insert into student(name,age,email) values('김민수',92,'저도 몰라요'); #student(컬럼명1,컬럼명2,...) values(앞에 적은 컬럼명의 값! 같은 순서대로) 일부 컬럼만 선택해서 값 입력 가능
insert into student values(null,'aa',12,'adsa'); #앞의 컬럼명 조건을 안 주면 values뒤에 모든 컬럼에 대한 값을 다 넣어야한다.
# city table data insert
insert into city values(null,'서울');
insert into city values(null,'경기');
#테이블에 칼럼추가
alter table student add city_name varchar(50); # student 테이블에 칼럼 추가
alter table city add city_id int; # city 테이블에 칼럼 추가
# student에 city_id에 not null 조건을 주기 위해 일단 student에 city_id에 데이터 삽입
update student set city_id =1;
#테이블에 제약조건 추가
alter table student add constraint foreign key(city_id) references city(city_id); #제약조건 추가 foreign key 넣기
alter table student modify city_id int not null; #student 테이블에 city_id칼럼에 not null 조건 추가
# 삭제문
delete from student where id = 1; #where 조건문 -> where 컴럼명 = 컬럼값;
# 포린키명 변경
# alter table student
# drop foreign key "기존키명";
#
# alter table student
# add constraint "바꿀키명"
# foreign key (city_id) references city (city_id);
# 조인문
select s.name, c.city_name
from student s left join city c on s.city_id = c.city_id
where s.name = '김민수';
CRUD
from flask import Flask, render_template, request, jsonify
app = Flask(__name__)
import pymysql
db = pymysql.connect(host="localhost",
port=3306,
user="lee",
db='aa',
password='spartatest',
charset='utf8')
# db = config.DB_URL
curs = db.cursor()
@app.route("/members/lee/get", methods=["GET"])
def lee_sl():
sql = """select * from student"""
curs.execute(sql) # execute안에 있는 sql쿼리문을 실행시킨다.
curs.fetchall()
db.commit()
print('get 완료')
return render_template("index.html")
@app.route("/members/lee/up", methods=["POST"])
def lee_up():
datas = request.get_json()
name = datas['name']
id = datas['id']
sql = """update student set name='%s' where id = '%s'""" %(name,id)
curs.execute(sql)
curs.fetchall()
db.commit()
print("업데이트 완료")
return render_template("index.html")
@app.route("/members/lee/in", methods=["POST"])
def lee_a():
params = request.get_json()
name = params['name']
age = params['age']
email = params['email']
city_id = params['city_id']
sql ="""insert into student values (null,'%s' , '%s' ,'%s' , '%s')""" %(name,age,email,city_id)
curs.execute(sql) # execute안에 있는 sql쿼리문을 실행시킨다.
curs.fetchall()
db.commit()
print('insert 완료')
return render_template("index.html")
@app.route("/members/lee/del", methods=["Delete"])
def lee_d():
params = request.get_json()
id = params['id']
sql = """delete from student where id = '%s'""" %(id)
curs.execute(sql) # execute안에 있는 sql쿼리문을 실행시킨다.
curs.fetchall()
db.commit()
print('삭제완료')
return render_template("index.html")
if __name__ == '__main__':
app.run('0.0.0.0', port=5000, debug=True)
728x90
반응형