SQL 명령어
create : 테이블, (create database 이름)
ex) create table 테이블명(필드 이름, 데이터타입(조건)[not nell])
create table User(name varchar(20))
drop : 테이블, database 제거
ex) drop table 테이블명,
drop database 데이터베이스명
use : 사용할 데이터 베이스 설정
use 데이터베이스명 , use database
show : DB조회
show database , show 테이블명
desc 테이블명 : 테이블 속성 조회
desc table
select : 테이블의 레코드 검색
ex) select 필드리스트(class의 객체), from 테이블명
select * from tables
insert : 테이블에 레코드 추가
insert into 테이블명(필드이름1, 2 ...) value (data1, 2...)
ex) insert into table(name, email...) value ('name', 'email.email.com' ...)
delete : 레코드 삭제
delete from 테이블명 (조건)
ex) delete from table name='name'
update : 데이터 값 변경(수정)
update 테이블명 set 필드이름1=data1, 필드2= data2... (where 조건문)
ex) updata table set email='email@email.com' where name='name'
객체의 전체 출력, QuerySet 반환, 객체 리스트
ex) User.objects.all()[1] or == .all()[id=1]
id 값 1 반환
조건에 맞는 모든 값 출력, QuerSet 반환, 객체 리스트
ex) User.objects.filter(name='hyun') , name에 조건 hyun을 모두 출력
for문으로 filter의 조건에 맞는 모든 데이터 리스트 안의 딕셔러리 형태로 저장하기
users = User.objects.filter(name='hyun')
list = []
for user in users:
User_data : { name = ''
email = '' ...
}
list.append(User_data)
# 위의 코드를 실행하면 리스트 안에 딕셔러리 형태로 저장이 가능하다.
ex) list = [{ 'key' : value , 'key' : value , ... }]
# key의 값은 사용자가 지정하고, value값은 User_data에서 받아와서 저장한다
ex )
user2 = User.objects.filter(user_name='조건')
for user in user2 :
list=[]
User_data = [{ 'user_name ' : user.user_name}]
list.append(User_data)
print (list)
[[{'user_name ': '조건'}]]]
[[{'user_name ': '조건'}]]
[[{'user_name ': '조건'}]]
조건의 맞는 3개의 데이터를 받아 user_name 만 출력했다.
딕셔러리 형태로 출력
ex) data = User.objects.values()[인덱스번호]
User.objects.values()[0] , 0번 인덱스의 values값 출력
title = data['title'] , User의 모든 정보에서 title값만 출력
: 조건에 맞는 하나의 row만 반환, 중복된 값이 없을 때 한개의 값만 출력( 값이 2개 이상일 경우 error)
ex) User.objects.get(id=1)or .get(title='test')
id 가 1인 값 호출 title이 'test'인 값 호출
get = Post.objects.get(id=1)
get.user_id => <User:User object(1) > 출력
get.user.email => <User.email>==(wecode@co.kr)
>>Post의 ForeignKey로 연결되있는 User의 정보를 출력가능하며
위의 코드를 실행하면 User의 email 도 출력할 수 있다!!!