Hướng dẫn how do you create table if not exists in sql python? - làm thế nào để bạn tạo bảng nếu không tồn tại trong sql python?

Tôi đã tạo một bảng "Bảng2" và nhận cảnh báo [bảng đã tồn tại] khi tôi chạy mã của mình. Tôi chỉ muốn tạo bảng nếu nó không tồn tại. Một số nghiên cứu của MySQL Cú pháp web

Mã của tôi:

cursor.execute['CREATE TABLE IF NOT EXISTS [2 INT]`table2`']

Cung cấp cảnh báo này:

_mysql_exceptions.ProgrammingError: [1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '[2 INT]`table2`' at line 1"]

Tôi có phiên bản cơ sở dữ liệu Phiên bản dữ liệu Phiên bản: 5.1.54-1ubuntu4 cảm ơn-TOM

Đã hỏi ngày 20 tháng 1 năm 2012 lúc 0:13Jan 20, 2012 at 0:13

1

Cú pháp MySQL là

CREATE TABLE [IF NOT EXISTS] tbl_name
    [create_definition,...]
    [table_options]
    [partition_options]

Sử dụng những điều sau đây ...

cursor.execute['CREATE TABLE IF NOT EXISTS `table2` [`something` int[2]]']

kết quả:

__main__:1: Warning: Table 'table2' already exists

Mark Hall

53.5K9 Huy hiệu vàng97 Huy hiệu bạc110 Huy hiệu Đồng9 gold badges97 silver badges110 bronze badges

Đã trả lời ngày 20 tháng 1 năm 2012 lúc 1:00Jan 20, 2012 at 1:00

user1136149user1136149user1136149

2312 Huy hiệu bạc6 Huy hiệu đồng2 silver badges6 bronze badges

2

Có một vài vấn đề với cú pháp của lệnh CREATE TABLE của bạn.

  1. Bạn có tên bảng sau các định nghĩa cột. Nó nên được đặt trước họ, như thế này:

    _mysql_exceptions.ProgrammingError: [1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '[2 INT]`table2`' at line 1"]
    
    0

  2. Thứ hai, bạn đang sử dụng

    _mysql_exceptions.ProgrammingError: [1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '[2 INT]`table2`' at line 1"]
    
    1 làm tên cột, nhưng tôi không chắc chắn rằng
    _mysql_exceptions.ProgrammingError: [1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '[2 INT]`table2`' at line 1"]
    
    1 thậm chí còn là một tên cột hợp lệ. Nếu có, nó nên được trích dẫn để phân biệt nó với một số nguyên đơn giản.

Bạn có thể đọc thêm về cú pháp CREATE TABLE tại tài liệu MySQL.

Đã trả lời ngày 20 tháng 1 năm 2012 lúc 0:46Jan 20, 2012 at 0:46

SRGERGSRGERGsrgerg

18.3k3 Huy hiệu vàng55 Huy hiệu bạc39 Huy hiệu Đồng3 gold badges55 silver badges39 bronze badges

Đầu tiên, sử dụng tham chiếu chính thức và không phải một số trang web ngẫu nhiên. Các tài liệu gần như chắc chắn sẽ tốt hơn rất nhiều. Thứ hai, bạn có thể có ý nghĩa gần hơn với:

CREATE TABLE IF NOT EXISTS table2 [columnname INT];

Đã trả lời ngày 20 tháng 1 năm 2012 lúc 0:47Jan 20, 2012 at 0:47

Kirk Strauserkirk StrauserKirk Strauser

29,8K5 Huy hiệu vàng48 Huy hiệu bạc64 Huy hiệu đồng5 gold badges48 silver badges64 bronze badges

Vấn đề là với cú pháp SQL của bạn. Cú pháp chính xác cho câu lệnh CREATE TABLE đặt tên bảng trước các cột. Hơn nữa,

_mysql_exceptions.ProgrammingError: [1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '[2 INT]`table2`' at line 1"]
5 không phải là một định nghĩa cột hợp lệ. Nếu bạn có nghĩa là cho cột có tên "2", nó phải được trích dẫn như

`2` INT

Hoặc nếu [nhiều khả năng] bạn muốn có một cột gồm hai chữ số thập phân, thì độ dài được đặt sau kiểu dữ liệu; Cột vẫn phải được đặt tên:

_mysql_exceptions.ProgrammingError: [1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '[2 INT]`table2`' at line 1"]
6

Vì vậy, hoàn toàn, bạn muốn

cursor.execute['''
    CREATE TABLE IF NOT EXISTS table2 [
        foo_column INT[2]]
    ''']

Đã trả lời ngày 20 tháng 1 năm 2012 lúc 0:47Jan 20, 2012 at 0:47

import sqlite3
connexion = sqlite3.connect["bd-celebrites.sq3"]
curseur = connexion.cursor[]
curseur.execute["CREATE TABLE IF NOT EXISTS celebrites [nom TEXT, prenom TEXT, annee INTEGER]"]

Kirk Strauserkirk Strauser

29,8K5 Huy hiệu vàng48 Huy hiệu bạc64 Huy hiệu đồng5 gold badges45 silver badges91 bronze badges

Vấn đề là với cú pháp SQL của bạn. Cú pháp chính xác cho câu lệnh CREATE TABLE đặt tên bảng trước các cột. Hơn nữa,

_mysql_exceptions.ProgrammingError: [1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '[2 INT]`table2`' at line 1"]
5 không phải là một định nghĩa cột hợp lệ. Nếu bạn có nghĩa là cho cột có tên "2", nó phải được trích dẫn nhưDec 21, 2019 at 21:09

1

Tạo bảng là gì nếu không tồn tại?

Mỗi cơ sở dữ liệu tạo nếu không tồn tại câu lệnh được sao chép, cho dù cơ sở dữ liệu đã tồn tại trên nguồn hay không.Tương tự, mỗi bảng tạo nếu không tồn tại câu lệnh mà không có chọn được sao chép, cho dù bảng có tồn tại trên nguồn hay không.Điều này bao gồm tạo bảng nếu không tồn tại ... thích.every CREATE TABLE IF NOT EXISTS statement without a SELECT is replicated, whether or not the table already exists on the source. This includes CREATE TABLE IF NOT EXISTS ... LIKE .

Làm thế nào sử dụng bảng SQL trong Python?

Dưới đây là những bước đơn giản để bắt đầu ...
Bước 1 - Nhập SQLite và gấu trúc.Để bắt đầu, chúng tôi sẽ cần nhập SQLite vào sổ ghi chép Jupyter của chúng tôi.....
Bước 2 - Kết nối cơ sở dữ liệu của bạn.....
Bước 3 - Đối tượng con trỏ.....
Bước 4 - Viết một truy vấn.....
Bước 5 - Truy vấn chạy.....
Bước 6 - Đóng kết nối của bạn ..

Bài Viết Liên Quan

Chủ Đề