SQL Query명령어 정리

정현석·2020년 11월 12일
0

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

Query

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'

all()

객체의 전체 출력, QuerySet 반환, 객체 리스트
ex) User.objects.all()[1] or == .all()[id=1] 
		id1 반환

filter()

 조건에 맞는 모든 값 출력, 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 만 출력했다.

values() :

딕셔러리 형태로 출력

ex) data = User.objects.values()[인덱스번호]  
	User.objects.values()[0] , 0번 인덱스의 values값 출력
    title = data['title'] , User의 모든 정보에서 title값만 출력

get

: 조건에 맞는 하나의 row만 반환, 중복된 값이 없을 때 한개의 값만 출력( 값이 2개 이상일 경우 error)
ex) User.objects.get(id=1)or .get(title='test') 
				id1인 값 호출 	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 도 출력할 수 있다!!!
 




                


				
profile
기록하는 벨로그

0개의 댓글