취미와 밥줄사이

[Python] MySQL 테이블 만들기 본문

DB

[Python] MySQL 테이블 만들기

취미와 밥줄사이 2021. 10. 27. 09:26

테이블 만들기


  • MySQL에서 테이블을 만들기 위해서 "CREATE TABLE"문을 사용한다.
  • import mysql.connector
    
    mydb = mysql.connector.connect(
    	host="localhost",
        user="your user name",
        password="your password",
        database="mydatabase"
        )
    
    mycursor = mydb.cursor()
    
    mycursor.execute("CREATE TABLE customers (name VARCHAR(255), address VARCHAR(255))")
  • 위의 코드가 실행되고 에러가 발생하지 않았다면 성공적으로 테이블이 생성되었을 것이다.

테이블 존재여부 확인하기


  • "SHOW TABLES"문을 사용하면 데이터베이스에 있는 테이블 목록을 확인할 수 있다.
  • # Return a list of your systems's database:
    
    import mysql.connector
    
    mydb = mysql.connector.connect(
    	host="localhost",
        user="your username",
        password="your password",
        database="mydatabase"
        )
        
    mycursor = mydb.cursor()
    
    mycursor.execute("SHOW TABLES")
    
    for x in mycursor:
    	print(x)

Primary Key


  • 테이블을 만들 때  고유한 키를 각 행에 삽입할 수 있다.
  • 이러한 상황에서 PRIMARY KEY를 이용한다.
  • "INT AUTO_INCREMENT PRIMARY KEY"를  사용하면 각 행에 고유한 숫자를 삽입할 수 있다.
  • 1로 시작하며 레코드가 생성될 때마다 하나씩 증가한다.
  • # Create primary key when creating the table:
    
    import mysql.connector
    
    mydb = mysql.connector.connect(
    	host="localhost",
        user="your username",
        password="your password",
        database="mydatabase"
        )
        
    mycursor =mydb.cursor()
    
    mycursor.execute("CREATE TABLE customers (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255),
    address VARCHAR(255))")
  • 테이블이 이미 존재한다면 ALTER TABLE keyword를 사용한다.
  • # Create primary key on an existing table"
    
    import mysql.connector
    
    mydb = mysql.connector.connect(
    	host="localhost",
        user="your username",
        password="your password",
        database="mydatabase"
        )
    
    mycursor = mydb.cursor()
    
    mycursor.execute("ALTER TABLE customers ADD COLUMN id INT AUTO_INCREMENT PRIMARY KEY")

'DB' 카테고리의 다른 글

[Python] MySQL Select From  (0) 2021.10.28
[Python] MySQL Insert Into Table  (0) 2021.10.27
[Python] MySQL 데이터베이스 만들기  (0) 2021.10.26
[Python] MySQL 연결 만들기  (0) 2021.10.26
[ 프로그래머스 ] SQL - 입양 시각 구하기(1)  (0) 2021.05.30