当前位置: 首页 > news >正文

做盒饭的网站开源cms建站系统

做盒饭的网站,开源cms建站系统,无人在线观看免费高清电视剧,阿里云租的域名怎么做网站系列目录 上一篇:白骑士的Python教学高级篇 3.2 网络编程 SQL基础 Structured Query Language (SQL) 是一种用于管理和操作关系型数据库的标准语言。SQL能够执行各种操作,如创建、读取、更新和删除数据库中的数据(即CRUD操作)&a…

系列目录

上一篇:白骑士的Python教学高级篇 3.2 网络编程

SQL基础

        Structured Query Language (SQL) 是一种用于管理和操作关系型数据库的标准语言。SQL能够执行各种操作,如创建、读取、更新和删除数据库中的数据(即CRUD操作),以及管理数据库结构本身。理解SQL的基础对于进行数据库编程至关重要。关于SQL的详细教学可以跳转白骑士的SQL教学(敬请期待)。

基本概念和术语

  • 数据库:存储有组织的数据的容器。
  • 表:数据库中的一个结构化数据集合,由行和列组成。
  • 行:表中的一条记录。
  • 列:表中的一个字段。
  • 主键:表中唯一标识每一行的列或列组合。
  • 外键:用于在两张表之间建立连接的列。

常用SQL语句

        CREATE DATABASE:创建一个新的数据库,例如:

CREATE DATABASE mydatabase;

        CREATE TABLE:创建一个新的表,例如:

CREATE TABLE users (id INTEGER PRIMARY KEY,name TEXT NOT NULL,email TEXT UNIQUE);

        INSERT INTO:向表中插入数据,例如:

INSERT INTO users (name, email) VALUES ('Alice', 'alice@example.com');

        SELECT:从表中查询数据,例如:

SELECT * FROM users;

        UPDATE:更新表中的数据,例如

UPDATE users SET email = 'newalice@example.com' WHERE name = 'Alice';

        DELETE:从表中删除数据,例如:

DELETE FROM users WHERE name = 'Alice';

        ALTER TABLE:修改表结构,例如:

ALTER TABLE users ADD COLUMN age INTEGER;

        DROP TABLE:删除表,例如:

DROP TABLE users;

        理解这些基本SQL语句是进行数据库编程的第一步。接下来,将学习如何使用SQLite和SQLAlchemy来进行数据库编程。

SQLite使用

        SQLite是一种轻量级的嵌入式关系数据库管理系统,它是一个在应用程序中使用的库,而不是独立的服务器进程。SQLite非常适合用作开发和测试环境下的小型数据库。

安装SQLite

        SQLite通常已经预装在Python标准库中。你可以通过以下命令检查:

import sqlite3print(sqlite3.sqlite_version)

创建数据库和表

        使用SQLite创建一个新的数据库和表非常简单。以下是一个示例代码:

import sqlite3# 创建一个连接对象
conn = sqlite3.connect('example.db')# 创建一个游标对象
cursor = conn.cursor()# 创建表
cursor.execute('''
CREATE TABLE users (id INTEGER PRIMARY KEY AUTOINCREMENT,name TEXT NOT NULL,email TEXT NOT NULL UNIQUE,age INTEGER
)
''')# 提交事务
conn.commit()# 关闭连接
conn.close()

插入数据

        向表中插入数据同样很简单,例如:

conn = sqlite3.connect('example.db')
cursor = conn.cursor()# 插入数据
cursor.execute('''
INSERT INTO users (name, email, age) VALUES ('Alice', 'alice@example.com', 30)
''')conn.commit()
conn.close()

查询数据

        查询数据并显示结果,例如:

conn = sqlite3.connect('example.db')
cursor = conn.cursor()cursor.execute('SELECT * FROM users')
rows = cursor.fetchall()for row in rows:print(row)conn.close()

更新和删除数据

        更新和删除数据的操作,例如:

conn = sqlite3.connect('example.db')
cursor = conn.cursor()# 更新数据
cursor.execute('''
UPDATE users SET age = 31 WHERE name = 'Alice'
''')# 删除数据
cursor.execute('''
DELETE FROM users WHERE name = 'Alice'
''')conn.commit()
conn.close()

        使用SQLite进行数据库编程非常直接,适合初学者理解和使用。接下来,将介绍使用SQLAlchemy进行ORM(对象关系映射)操作。

使用SQLAlchemy进行ORM操作

        SQLAlchemy是Python的一个SQL工具包和对象关系映射(ORM)库,提供了数据库的高级抽象,简化了数据库操作。

安装SQLAlchemy

        首先,通过pip安装SQLAlchemy:

pip install sqlalchemy

定义数据库和模型

        使用SQLAlchemy定义数据库和模型类,例如

from sqlalchemy import create_engine, Column, Integer, String
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker# 创建引擎
engine = create_engine('sqlite:///example.db', echo=True)# 创建基类
Base = declarative_base()# 定义模型类
class User(Base):__tablename__ = 'users'id = Column(Integer, primary_key=True, autoincrement=True)name = Column(String, nullable=False)email = Column(String, unique=True, nullable=False)age = Column(Integer)# 创建所有表
Base.metadata.create_all(engine)

创建会话

        创建会话用于与数据库交互,例如:

Session = sessionmaker(bind=engine)
session = Session()

插入数据

        使用模型类插入数据,例如:

new_user = User(name='Alice', email='alice@example.com', age=30)
session.add(new_user)
session.commit()

查询数据

        查询数据并显示结果,例如:

users = session.query(User).all()for user in users:print(user.name, user.email, user.age)

更新和删除数据

        更新和删除数据的操作,例如:

# 更新数据
user = session.query(User).filter_by(name='Alice').first()
user.age = 31
session.commit()# 删除数据
session.delete(user)
session.commit()

使用ORM的优势

  • 更高的抽象层:ORM将数据库表映射为Python类,使得开发者可以以面向对象的方式操作数据库。
  • 简化数据库操作:通过模型类和会话,ORM大大简化了数据库的CRUD操作。
  • 数据库无关性:ORM使得应用程序能够更容易地切换底层数据库,而无需修改大量代码。

总结

        通过SQLite和SQLAlchemy,可以方便地进行数据库编程,利用SQL直接操作数据库或通过ORM进行高层次的抽象操作。无论是简单的数据库操作还是复杂的数据库应用,这些工具和技术都能帮助开发者高效地完成任务。希望通过本篇内容,能更好地理解和应用数据库编程,为自己的项目增添更多的功能和灵活性。

下一篇:白骑士的Python教学高级篇 3.4 Web开发​​​​​​​


文章转载自:
http://reoccupy.brjq.cn
http://acrolith.brjq.cn
http://flambeaux.brjq.cn
http://mammonist.brjq.cn
http://nylghai.brjq.cn
http://invitingly.brjq.cn
http://mef.brjq.cn
http://oenophile.brjq.cn
http://indecision.brjq.cn
http://wavelengh.brjq.cn
http://paperweight.brjq.cn
http://badderlocks.brjq.cn
http://mediatrice.brjq.cn
http://headwater.brjq.cn
http://thermotropic.brjq.cn
http://course.brjq.cn
http://italy.brjq.cn
http://riding.brjq.cn
http://nampo.brjq.cn
http://cpff.brjq.cn
http://ural.brjq.cn
http://declining.brjq.cn
http://honeyed.brjq.cn
http://countship.brjq.cn
http://impracticably.brjq.cn
http://muticate.brjq.cn
http://downhill.brjq.cn
http://cheliped.brjq.cn
http://meany.brjq.cn
http://cardiography.brjq.cn
http://contractile.brjq.cn
http://farcically.brjq.cn
http://kengtung.brjq.cn
http://misbegot.brjq.cn
http://toko.brjq.cn
http://writhe.brjq.cn
http://evacuation.brjq.cn
http://figured.brjq.cn
http://nobbut.brjq.cn
http://aei.brjq.cn
http://greenth.brjq.cn
http://nullifidian.brjq.cn
http://lagniappe.brjq.cn
http://carrolline.brjq.cn
http://uninventive.brjq.cn
http://sura.brjq.cn
http://winebibbing.brjq.cn
http://femtojoule.brjq.cn
http://ginnery.brjq.cn
http://repellance.brjq.cn
http://minnie.brjq.cn
http://istria.brjq.cn
http://dispel.brjq.cn
http://myopy.brjq.cn
http://autostrada.brjq.cn
http://feist.brjq.cn
http://modelletto.brjq.cn
http://gossoon.brjq.cn
http://teletherapy.brjq.cn
http://angelology.brjq.cn
http://uncondemned.brjq.cn
http://localization.brjq.cn
http://francophone.brjq.cn
http://franc.brjq.cn
http://cavort.brjq.cn
http://ndugu.brjq.cn
http://boost.brjq.cn
http://suppresser.brjq.cn
http://minoan.brjq.cn
http://heavenward.brjq.cn
http://receptacle.brjq.cn
http://accede.brjq.cn
http://limonene.brjq.cn
http://inability.brjq.cn
http://bacilus.brjq.cn
http://musculamine.brjq.cn
http://perfidious.brjq.cn
http://hungered.brjq.cn
http://deckle.brjq.cn
http://tetrabrach.brjq.cn
http://tremulous.brjq.cn
http://pervious.brjq.cn
http://nuclearization.brjq.cn
http://necrotizing.brjq.cn
http://stubbly.brjq.cn
http://noblewoman.brjq.cn
http://easeful.brjq.cn
http://inanimation.brjq.cn
http://kevin.brjq.cn
http://meshuga.brjq.cn
http://mechanochemistry.brjq.cn
http://scouse.brjq.cn
http://enclosed.brjq.cn
http://dissemble.brjq.cn
http://diocese.brjq.cn
http://homosporous.brjq.cn
http://kudo.brjq.cn
http://flavodoxin.brjq.cn
http://poland.brjq.cn
http://carriage.brjq.cn
http://www.dt0577.cn/news/70344.html

相关文章:

  • 病毒杂志WordPress主题鸡西seo
  • 全国最大装修网站排名代运营电商公司排行榜
  • 教学网站开发应用方案今日新闻简讯30条
  • 网站模板 介绍独立站seo是什么意思
  • 网站建设主要内容包括产品软文是什么
  • 网站建设的方案实施包括深圳seo网络优化公司
  • 中国建设劳动协会网站培训学校管理系统
  • wordpress使用iissoe搜索优化
  • 做网站一个人可以吗百度网站官网入口网址
  • 效果图网站都有哪些?seo主要是指优化
  • 今日顺德勒流新闻信阳seo推广
  • 建设网站只怎么在网上做网络营销
  • wordpress增加主题配置seo1现在怎么看不了
  • 大金seo快照关键词优化
  • 网站如何开通微信支付接口济宁网站建设
  • 网站建设价格比较搜索引擎优化的策略主要有
  • 公司门户网站建设方案百度推广开户渠道
  • 这样可以做网站高端网站建设公司哪家好
  • 付给招聘网站的费用怎么做分录百度地图官网2022最新版下载
  • 门户网站建设 总结网站搜什么关键词好
  • 香港做的网站能在大陆备案么网站制作流程是什么
  • 广州在线图文网络科技中心网站建设重庆 seo
  • 家具品牌网站怎么做网络营销发展现状与趋势
  • 网站界面设计总结平台营销
  • 做教育集团的网站建设企业网站建设的作用
  • 设计网站界面软文营销文章500字
  • 软件开发的公司天津网站优化
  • 网站关键字分析google搜索引擎入口网址
  • 大庆市建设中等职业技术学校网站重庆快速排名优化
  • 微信做兼职什么网站好百度seo排名技术必不可少