Top 31 Giới thiệu sqlalchemy trong python(part 1) 2023

Python’s SQLAlchemy và Object-Relational Mapping

Python’s SQLAlchemy và Declarative

77d3877d-2ca3-4eb6-9a64-17267adb6d84.png

Một nhiệm vụ phổ biến khi bắt đầu xây dựng một web service bất kỳ là làm sao để xây dựng một cơ sở dữ liệu chắc chắn, bền vững. Trong quá khứ, lập trình viên sẽ phải viết những câu lệnh SQL, thông qua chúng, để thiết database hay lấy dữ liệu từ database. Ngày nay, lập trình viên có thể sử dụng object-relational mapping( ORM) thay vì các câu lệnh SQL phức tạp, và khó khăn trong việc bảo trì, đọc hiểu và chỉnh sửa.

ORM là một công nghệ lập trình, cho phép chuyển đổi (convert) từ những data trong database với những đối tượng trong các ngôn ngữ lập trình hướng đối tượng. Thông thường, những ngôn ngữ hướng đối tượng như python tồn tại những kiểu không thể thể hiện bằng các kiểu nguyên thủy(giống như là integer, string) .

Ví dụ, Một người có thể có các địa chỉ nhà ở khác nhau, như địa chỉ thường trú chỗ này , chỗ kia, có một, vài số điện thoại hay dùng, Một địa chỉ thì phải lưu trữ mã bưu điện của tỉnh/thành phố đó, hay lưu trữ tên đường, số nhà.v.v. Điều này thể hiện trong ngôn ngữ hướng đối tượng như sau:

Một Person object có thể có một danh sách các Address object, và một danh sách các PhoneNumber object. Một Address object có một PostCode object., một StreetName object và một StreetNumber object.

Mặc dù một object đơn giản như PostCode và StreetName có thể biểu diễn bằng các string, nhưng những object phức tạp hơn, giống như Address object hay Person, không thể chỉ sử dụng những kiểu nguyên thủy như String, Integer để thể hiện. Thêm vào đó, những đối tượng phức tạp có thể bao gồm các thể hiện của một class, hoặc các phương thức trong class không thể sử dụng 1 kiểu cho tất cả các trường hợp.

Để quản lý những đối tượng phức tạp, con người đã phát triển một lớp hệ thống mới , gọi là ORM. Ở ví dụ trước của chúng ta, ORM có thể xây dựng với các thành phần: một class Person, một class Address , một class PhoneNumber và một class mapper để thực hiện việc map một python class với một bảng trong database. Thay vì phải viết những code SQL tẻ nhạt, một ORM có thể mang đển cho bạn những tùy chọn có thể sử dụng trong khi lập trình những logic của hệ thống

Trong thiết kế này, chúng ta có 2 bảng person và address và address.person_id là khóa ngoài của person với bảng address. Giờ chúng ta sẽ viết code một cơ sở dữ liệu tướng ứng trong file sqlite_ex.py


    import sqlite3
    conn = sqlite3.connect('example.db')

    c = conn.cursor()
    c.execute('''
              CREATE TABLE person
              (id INTEGER PRIMARY KEY ASC, name varchar(250) NOT NULL)
              ''')
    c.execute('''
              CREATE TABLE address
              (id INTEGER PRIMARY KEY ASC, street_name varchar(250), street_number varchar(250),
               post_code varchar(250) NOT NULL, person_id INTEGER NOT NULL,
               FOREIGN KEY(person_id) REFERENCES person(id))
              ''')

    c.execute('''
              INSERT INTO person VALUES(1, 'pythoncentral')
              ''')
    c.execute('''
              INSERT INTO address VALUES(1, 'python road', '1', '00000', 1)
              ''')

    conn.commit()
    conn.close()

Chú ý rằng chúng ta sẽ chèn một record vào mỗi bảng. thực hiện câu lệnh sau

    $ python sqlite_ex.py

Giờ chúng ta có thể thự hiện việc truy vấn trong cơ sở dữ liệu example.db để lấy những bản ghi. Viết một code sau trong file sqlite_q.py

    import sqlite3
    conn = sqlite3.connect('example.db')

    c = conn.cursor()
    c.execute('SELECT * FROM person')
    print c.fetchall()
    c.execute('SELECT * FROM address')
    print c.fetchall()
    conn.close()

và thực hiện câu lệnh sau:

    $ python sqlite_q.py
    (1, u'pythoncentral')
    (1, u'python road', u'1', u'00000', 1)

Ở ví dụ trước, chúng ta sử dụng 1 sqlite3 conecttion để commit sự thay đổi trong database và một sqlite3 cursor để thực hiện một câu lệnh sql. Mục đích của những cậu lệnh này là CRUD(create, read, update, delete) dữ liệu trong database.

Mặc dù câu lệnh SQL đã thực thi, nhưng nó không dễ dàng đọc hiểu, hay thay đổi. Trong giai đoạn tiếp theo , chúng ta sẽ sử dụng những khai báo SQLAlchemy để thực hiện việc map mỗi Person và Address với những python class.

Tổng kết

  • ở đây có 3 thành phần quan trọng khi viết SQLalchemy code:
    • Một bảng(table) trong cơ sở dữ liệu
    • Một mapper để map python class và một bảng trong database
    • Một class object định nghĩa những thành phần của đối tượng
  • Thay vì viết code cho table, mapper và class object ở những nơi khác nhau, SQLALchemy declarative đồng ý cho việc table, mapper, và class object định nghĩa trong 1 lớp
  • Dưới đây là khai báo các định nghĩa giống như các bảng được định nghĩa trong file sqlite_ex.py

    import os
    import sys
    from sqlalchemy import Column, ForeignKey, Integer, String
    from sqlalchemy.ext.declarative import declarative_base
    from sqlalchemy.orm import relationship
    from sqlalchemy import create_engine

    Base = declarative_base()

    class Person(Base):
        __tablename__ = 'person'
        
        
        id = Column(Integer, primary_key=True)
        name = Column(String(250), nullable=False)

    class Address(Base):
        __tablename__ = 'address'
        
        
        id = Column(Integer, primary_key=True)
        street_name = Column(String(250))
        street_number = Column(String(250))
        post_code = Column(String(250), nullable=False)
        person_id = Column(Integer, ForeignKey('person.id'))
        person = relationship(Person)

    
    
    engine = create_engine('sqlite:///sqlalchemy_example.db')

    
    
    Base.metadata.create_all(engine)

Lưu code trên với tên là sqlalchemy_insert.py và thực thi file đó bằng câu lệnh

    python sqlalchemy_insert.py

Giờ đấy chúng ta có một đối tượng Person, 1 đối tượng Address được lưu trữ trong database. Bây giờ chúng ta sẽ thực hiện việc truy vấn trong cơ sở dữ liệu sử dụng những lớp đã định nghĩa trong file sqlalchemy_declarative.py. Thực hiện python console và thực hiện lần lượt những câu lệnh sau:

        from sqlalchemy_declarative import Person, Base, Address
        from sqlalchemy import create_engine
        engine = create_engine('sqlite:///sqlalchemy_example.db')
        Base.metadata.bind = engine
        from sqlalchemy.orm import sessionmaker
        DBSession = sessionmaker()
        DBSession.bind = engine
        session = DBSession()
        
        session.query(Person).all()
        <sqlalchemy_declarative.Person object at 0x2ee3a10>

        
        person = session.query(Person).first()
        person.name
        u'new person'

        
        session.query(Address).filter(Address.person == person).all()
        <sqlalchemy_declarative.Address object at 0x2ee3cd0>

        
        session.query(Address).filter(Address.person == person).one()
        <sqlalchemy_declarative.Address object at 0x2ee3cd0>
        address = session.query(Address).filter(Address.person == person).one()
        address.post_code
        u'00000'

Nguồn tham khảo

Trong bài này, chúng ta đã học làm sao để có xây dựng một database sử dụng SQLAlchemy’s declaratives. So sánh nó với việc viết những câu lệnh SQL truyền thống trong sqlite3, SQLAlchemy code hướng đối tượng hơn, dễ dàng để đọc và duy trì hơn. Thêm vào đó, chúng ta có thể dễ dàng thực hiện việc tạo mới, sửa, xóa các đối tượng SQLAlchemy giống như những đối tượng python thông thường

Top 31 bài viết hay về chủ đề sqlalchemy là gì

Chúng tôi giới thiệu đến độc giả 31 bài viết hay nhất về chủ đề sqlalchemy là gì:

Giới thiệu sqlalchemy trong python(part 1)

ORM là một công nghệ lập trình, cho phép chuyển đổi (convert) từ những data trong database với những đối tượng trong các ngôn ngữ lập trình hướng đối tượng. Xem Thêm

ORM và SQLAlchemy trong quản trị cơ sở dữ liệu

SQLAlchemy là một bộ công cụ SQL mã nguồn mở và ORM sử dụng trong ngôn ngữ lập trình Python, giúp hỗ trợ việc quản lý và thao tác với cơ sở dữ … Xem Thêm

SqlAlchemy trong python (part 3)

SQLALchemy Expression Language cung cấp một hệ thống cho người lập trình viết những câu lệnh SQL sử dung cấu trúc Python. , những hàm khởi tạo được mô hình hóa … Xem Thêm

Các mẫu và phương pháp sử dụng SQLAlchemy 2.0 với …

Các kỹ sư Python coi SQLAlchemy là ORM phổ biến nhất hiện có. … Ngay cả trong trường hợp thuốc phức tạp hơn, tất cả những gì bạn cần làm là sử … Xem Thêm

Hướng dẫn lập trình Flask – Phần 4: Sử dụng cơ sở dữ liệu

Một đặc điểm rất hay của SQLAlchemy là nó hỗ trợ cho rất nhiều cơ sở dữ liệu quan hệ khác nhau như MySQL, PostgreSQL và SQLite. Điều này rất hữu … Xem Thêm

SQLAlchemy – Phần 1 – Xây dựng kiến trúc

Bài này chia sẻ cách tạo kiến trúc database (shema) bằng cách dùng ORM của SQLAlchemy và cơ sở dữ liệu dùng cho loạt bài này chắc chắn là dùng … Xem Thêm

LẬP TRÌNH WEB FLASK-PYTHON #8 – YouTube

Welcome to my Channel ! Chào các bạn! Đây sẽ là video lý thuyết về ORM. SQLAlchemy giúp các bạn tương tác với database mà không cần biết đến … Xem Thêm

Sqlalchemy Python

SQLalchemy là một thư viện Python cung cấp một bản đồ quan hệ đối tượng (ORM) cho cơ sở dữ liệu quan hệ.Nó cho phép bạn ánh xạ các lớp Python … Xem Thêm

Khi nào thì session hết hạn (sql alchemy + postgresql)?

Chào cả nhà, Mình đang làm app, mỗi lần start app thì sẽ dùng code dưới để tạo engine và session dùng cho suốt app Xem Thêm

Cách xây dựng cơ sở dữ liệu bằng Python

Flask-SQLAlchemy là một thư viện để kết nối thư viện SQLAlchemy bên trong dự án Flask của bạn và nó giúp việc triển khai cơ sở dữ liệu của bạn dễ dàng hơn bao … Xem Thêm

SQL Alchemy – hỏi cách auto update database schema

Bác biết đấy sqlalchemy và flask-sqlalchemy là 2 thư viện khác nhau ấy. Với … gì. Home · Categories · FAQ/Guidelines · Terms of Service · Privacy Policy. Xem Thêm

Object-Relational Mapping (ORM) là gì?

Object-Relational Mapping (ORM) là gì? Object-Relational Mapping là … – SQLAlchemy: là một thư viện ORM cho Python, cung cấp một lớp trừu … Xem Thêm

Best practice khi query bằng ORM python (SQLAlchemy)

Giả sử em có mối quan hệ nhiều nhiều giữa User và Room, bảng trung gian là User_In_Room … gì. Theo lý thuyết là nó sẽ query vào các bảng của … Xem Thêm

SQLALCHEMY Tiếng việt là gì – trong Tiếng việt Dịch

What to do with a SqlAlchemy session only used for reads? … Phải làm gì với một phiên SqlAlchemy chỉ được sử dụng để đọc? I am using sqlalchemy for ORM and … Xem Thêm

20 Thư viện Python thông dụng

SQLAlchemy là thư viện ORM (Object Relation Mapping) kết nối tới nhiều loại cơ sở dữ liệu như SQLite, MySQL, Postgresql, Oracle, MS-SQL Server. Xem Thêm

Mô hình o/r mapping – Thằng Quân – WordPress.com

sqlalchemy là một python Framework giúp bạn có thể dễ dàng hơn trong … Vậy nhược điểm của các ORM là gì? Nếu thiết kế không đúng cách bạn … Xem Thêm

Alembic’s documentation! – SQLAlchemy

Welcome to Alembic’s documentation!¶. Alembic is a lightweight database migration tool for usage with the SQLAlchemy Database Toolkit for Python. Xem Thêm

Kỹ thuật scraping và crawling nâng cao với Scrapy và …

… lạ gì với CSS selector. Tuy nhiên, bạn có thể tham khảo thêm về … Bài viết liên quan. Web scraping và crawling với Scrapy và SQLAlchemy. Xem Thêm

Tìm hiểu về ORM và cách nó làm việc trong lập trình

ORM là gì? ORM (Object-Relational Mapping) là một công nghệ trong … Ví dụ, bảng trên cho thấy rằng SQLAlchemy có thể hoạt động với các … Xem Thêm

ORM (Ánh xạ quan hệ đối tượng): tự động ghi dữ liệu

con trăn: Peewee, SQLAlchemy, PonyORM, Elixir, v.v.. Ví dụ với Python và ORM. Peewee là một ORM đơn giản và rút gọn để sử dụng với Python. Bạn có thể … Xem Thêm

CVE-2019-7164: Lỗ hổng trong SQLALchemy (version 1.2.17 …

ORM là gì? ORM là tên viết tắt của cụm từ “Object Relational Mapping … SQLALchemy là gì? SQLAlchemy là một công cụ mã nguồn mở của SQL và … Xem Thêm

Một số package phổ biến trong Python

SQLAlchemy : Là một bộ công cụ Python SQL và Object Relational Mapper cung … scrape: Là một mô-đun Python để duyệt web và sao chép nội dung của trang web. Xem Thêm

Learn SQLAlchemy- Python Query – Ứng dụng trên …

SQLAlchemy cung cấp “một bộ đầy đủ các mẫu kiên trì cấp doanh nghiệp nổi tiếng, được thiết kế để truy cập cơ sở dữ liệu hiệu quả và hiệu … Xem Thêm

Tips about Flask-SQLAlchemy – Nhật Anh’s Blog

Users là bảng người dùng, không có gì đặc biệt. UserLessons là bảng … android connection-pool flask java jdbc linux mysql python sqlalchemy … Xem Thêm

Các framework trong Python năm 2019

Các nhà phát triển Python cần những gì để giúp cuộc sống dễ dàng hơn? … Framework Python dùng thư viện asyncio của Python và là một framework … Xem Thêm

Ví dụ về Relationship và Foreignkey khi lưu dữ liệu từ Scrapy …

Trong mô hình trên, lớp Image là Gallery hình ảnh của lớp Product . Nó có … #models.py – sqlalchemy class Shop_Product(DeclarativeBase): __ … Xem Thêm

10 Python framework hàng đầu để phát triển web năm 2022

Nếu bạn là một developer muốn thử một cái gì đó mới, CherryPy có thể là một chọn lựa phù hợp. Mặc dù với các nhà phát triển kinh nghiệm, … Xem Thêm

ORM là gì? – Lập trình

C#, NHibernate, Entity Framework ; Java, JPA, Hibernate, EclipseLink, Oracle TopLink, OpenJPA ; PHP, Propel, Doctrine, Eloquent, RedBean ; Python, SQLAlchemy, … Xem Thêm

Tìm hiểu thư viện Flask của Python NGUYỄN THỊ HẢI YẾN

2 Thư viện SQLAlchemy. Một nhiệm vụ phổ biến khi bắt đầu xây dựng một web service bất kỳ là làm sao để xây dựng một cơ sở dữ liệu chắc chắn … Xem Thêm

Django dễ hơn Flask – The PyMiers – PyMI.vn

Nếu ai có hỏi “nên học cái nào” thì câu trả lời chuẩn nhất chỉ có một: nên học cả hai. Web framework là gì. Một framework là một bộ thư viện … Xem Thêm

Hướng dẫn lập trình Web với ngôn ngữ Python

Lập trình web với ngôn ngữ Python là gì? 2. Tại sao lại sử dụng … SQLAlchemy app = Flask(__name__) app.config’SQLALCHEMY_DATABASE_URI … Xem Thêm

Top 58 hình ảnh thú vị nhất về chủ đề sqlalchemy là gì

Chúng tôi giới thiệu đến độc giả 58 bài viết hay nhất về chủ đề sqlalchemy là gì:

Got-It-Wordpress-featured-image-5.png

Tên ảnh: Got-It-Wordpress-featured-image-5.png

Kích cỡ: 536 KB

Kích thước: : 1916×1043 px

Tên ảnh: 77d3877d-2ca3-4eb6-9a64-17267adb6d84.png

Kích cỡ: 0 KB

Kích thước: : 825×309 px

orm-la-gi.png

Tên ảnh: orm-la-gi.png

Kích cỡ: 5 KB

Kích thước: : 700×359 px

Orm12-1024x171-1.png

Tên ảnh: Orm12-1024×171.png

Kích cỡ: 33 KB

Kích thước: : 1024×171 px

1RJsD8okMHyNnQ9leaAhuBg.png

Tên ảnh: 1*RJsD8okMHyNnQ9leaAhuBg.png

Kích cỡ: 64 KB

Kích thước: : 1326×312 px

sqlalchemy2B-2Bpart2B12B-2Borm2Bschema.png

Tên ảnh: sqlalchemy%2B-%2Bpart%2B1%2B-%2Borm%2Bschema.png

Kích cỡ: 25 KB

Kích thước: : 450×150 px

d5e9a394-fe86-4ac0-8c65-6566673f6e02.png

Tên ảnh: d5e9a394-fe86-4ac0-8c65-6566673f6e02.png

Kích cỡ: 71 KB

Kích thước: : 825×428 px

Orm13.png

Tên ảnh: Orm13.png

Kích cỡ: 13 KB

Kích thước: : 750×240 px

sqlalchemy.jpg

Tên ảnh: sqlalchemy.jpg

Kích cỡ: 5 KB

Kích thước: : 360×250 px

sqlalchemy2B-2Bpart2B12B-2Borm2Bschema-1.png

Tên ảnh: sqlalchemy%2B-%2Bpart%2B1%2B-%2Borm%2Bschema.png

Kích cỡ: 18 KB

Kích thước: : 286×150 px

flask-python_320-e1567737120489.png

Tên ảnh: flask-python_320-e1567737120489.png

Kích cỡ: 17 KB

Kích thước: : 320×200 px

mqdefault-138.jpg

Tên ảnh: mqdefault.jpg

Kích cỡ: 11 KB

Kích thước: : 320×180 px

mbnh.jpg

Tên ảnh: mbnh.jpg

Kích cỡ: 165 KB

Kích thước: : 1200×628 px

1634333202_Tim-hieu-ngon-ngu-lap-trinh-pho-bien-nhat-hien.jpg

Tên ảnh: 1634333202_Tim-hieu-ngon-ngu-lap-trinh-pho-bien-nhat-hien.jpg

Kích cỡ: 512 KB

Kích thước: : 2000×1333 px

1bBo4b_XF0ac7AIGOxcbJpw.png

Tên ảnh: 1*bBo4b_XF0ac7AIGOxcbJpw.png

Kích cỡ: 55 KB

Kích thước: : 1374×258 px

1200px-Guido_van_Rossum_OSCON_2006.jpg

Tên ảnh: 1200px-Guido_van_Rossum_OSCON_2006.jpg

Kích cỡ: 383 KB

Kích thước: : 1200×1800 px

django-la-gi.jpg

Tên ảnh: django-la-gi.jpg

Kích cỡ: 13 KB

Kích thước: : 1200×628 px

sqlite-slqalchemy.png

Tên ảnh: sqlite-slqalchemy.png

Kích cỡ: 21 KB

Kích thước: : 491×268 px

lap-trinh-python-funix-370x210-1.jpg

Tên ảnh: lap-trinh-python-funix-370×210.jpg

Kích cỡ: 13 KB

Kích thước: : 370×210 px

sddefault-333.jpg

Tên ảnh: sddefault.jpg

Kích cỡ: 32 KB

Kích thước: : 640×480 px

sql-injection.jpg

Tên ảnh: sql-injection.jpg

Kích cỡ: 28 KB

Kích thước: : 838×439 px

Orm28-1024x192-1.png

Tên ảnh: Orm28-1024×192.png

Kích cỡ: 49 KB

Kích thước: : 1024×192 px

3.1-6.png

Tên ảnh: 3.1-6.png

Kích cỡ: 93 KB

Kích thước: : 800×710 px

lap-trinh-python-5.jpg

Tên ảnh: lap-trinh-python-5.jpg

Kích cỡ: 97 KB

Kích thước: : 630×353 px

employee_table.jpg

Tên ảnh: employee_table.jpg

Kích cỡ: 57 KB

Kích thước: : 600×373 px

flask-framework.jpg

Tên ảnh: flask-framework.jpg

Kích cỡ: 25 KB

Kích thước: : 765×510 px

62c2d7a9f8129a879489a7303ba86d3f9f1a8bf991c13b00454ca9aa8b90462b-1.png

Tên ảnh: 62c2d7a9f8129a879489a7303ba86d3f9f1a8bf991c13b00454ca9aa8b90462b.png

Kích cỡ: 180 KB

Kích thước: : 786×389 px

Wrj18xU.png

Tên ảnh: Wrj18xU.png

Kích cỡ: 61 KB

Kích thước: : 1301×744 px

4-2-3.jpg

Tên ảnh: 4-2.jpg

Kích cỡ: 34 KB

Kích thước: : 803×333 px

pEogAAc.png

Tên ảnh: pEogAAc.png

Kích cỡ: 106 KB

Kích thước: : 774×646 px

sqlalchemy-1.jpg

Tên ảnh: sqlalchemy.jpg

Kích cỡ: 37 KB

Kích thước: : 1024×512 px

IMG_QDNW2SRR6Z1S1EXJ.png

Tên ảnh: IMG_QDNW2SRR6Z1S1EXJ.png

Kích cỡ: 327 KB

Kích thước: : 1200×526 px

create-engine.png

Tên ảnh: create-engine.png

Kích cỡ: 31 KB

Kích thước: : 746×208 px

maxresdefault-696x392-1.jpg

Tên ảnh: maxresdefault-696×392.jpg

Kích cỡ: 30 KB

Kích thước: : 696×392 px

urmkfvtk3qw.jpg

Tên ảnh: urmkfvtk3qw.jpg

Kích cỡ: 215 KB

Kích thước: : 1600×1067 px

learn-python-for-entrepreneurs.jpg

Tên ảnh: learn-python-for-entrepreneurs.jpg

Kích cỡ: 83 KB

Kích thước: : 1000×718 px

odoo.png

Tên ảnh: odoo.png

Kích cỡ: 121 KB

Kích thước: : 1352×624 px

tabla-producto.png

Tên ảnh: tabla-producto.png

Kích cỡ: 9 KB

Kích thước: : 305×149 px

1R8vkjOPp-YlY50eyFzplAA.png

Tên ảnh: 1*R8vkjOPp-YlY50eyFzplAA.png

Kích cỡ: 13 KB

Kích thước: : 750×240 px

pycharm-la-gi.png

Tên ảnh: pycharm-la-gi.png

Kích cỡ: 35 KB

Kích thước: : 1024×557 px

top-python-framework.jpg

Tên ảnh: top-python-framework.jpg

Kích cỡ: 0 KB

Kích thước: : 1200×675 px

word-image-62173-1-1.png

Tên ảnh: word-image-62173-1.png

Kích cỡ: 1564 KB

Kích thước: : 1200×675 px

tai-sao-nen-lap-trinh-web-bang-python.jpg

Tên ảnh: tai-sao-nen-lap-trinh-web-bang-python.jpg

Kích cỡ: 70 KB

Kích thước: : 1200×628 px

Screenshot_2022-07-02_094134.png

Tên ảnh: Screenshot_2022-07-02_094134.png

Kích cỡ: 46 KB

Kích thước: : 510×854 px

Arrays-in-Python-Thumbnail.png

Tên ảnh: Arrays-in-Python-Thumbnail.png

Kích cỡ: 46 KB

Kích thước: : 728×400 px

favicon-3.png

Tên ảnh: favicon.png

Kích cỡ: 22 KB

Kích thước: : 300×300 px

orm-examples.jpg

Tên ảnh: orm-examples.jpg

Kích cỡ: 55 KB

Kích thước: : 1200×495 px

entity-framework-thumbnail-1.jpg

Tên ảnh: entity-framework-thumbnail.jpg

Kích cỡ: 318 KB

Kích thước: : 1131×741 px

ry-4icajc28.jpg

Tên ảnh: ry-4icajc28.jpg

Kích cỡ: 156 KB

Kích thước: : 1600×1068 px

cau-hoi-phong-van-lap-trinh-vien-945x557-1.jpg

Tên ảnh: cau-hoi-phong-van-lap-trinh-vien-945×557-1.jpg

Kích cỡ: 37 KB

Kích thước: : 945×557 px

vi-du-ve-cach-su-dung-repository-pattern-trong-java.jpg

Tên ảnh: vi-du-ve-cach-su-dung-repository-pattern-trong-java.jpg

Kích cỡ: 27 KB

Kích thước: : 512×512 px

sqlalchemy-2-query.png

Tên ảnh: sqlalchemy-2-query.png

Kích cỡ: 25 KB

Kích thước: : 450×150 px

1-4-300x170-1.jpg

Tên ảnh: 1-4-300×170.jpg

Kích cỡ: 10 KB

Kích thước: : 300×170 px

lap-trinh-python-2-1.jpg

Tên ảnh: lap-trinh-python-2.jpg

Kích cỡ: 94 KB

Kích thước: : 630×393 px

django.png

Tên ảnh: django.png

Kích cỡ: 20 KB

Kích thước: : 1200×418 px

sddefault-334.jpg

Tên ảnh: sddefault.jpg

Kích cỡ: 40 KB

Kích thước: : 640×480 px

Orm27.png

Tên ảnh: Orm27.png

Kích cỡ: 13 KB

Kích thước: : 750×240 px

word-image-62173-2-1.png

Tên ảnh: word-image-62173-2.png

Kích cỡ: 660 KB

Kích thước: : 1128×635 px

Xem Thêm:  Top 26 Sử Dụng Thư Viện SciPy Trong Python (P1)? 2023

Viết một bình luận