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

公司网站平台建设c2c二手车交易平台

公司网站平台建设,c2c二手车交易平台,wordpress给关键词加内链的方法,基于php的网站开发设计需求#xff1a; postgresql实现一个建表语句#xff0c;表名#xff1a;student,字段id,name,age#xff0c; 要求#xff1a;每次添加一个数据id会自动增加1 在PostgreSQL中#xff0c;您可以使用SERIAL或BIGSERIAL数据类型来自动生成主键ID。以下是一个创建名为stude…需求 postgresql实现一个建表语句表名student,字段id,name,age 要求每次添加一个数据id会自动增加1 在PostgreSQL中您可以使用SERIAL或BIGSERIAL数据类型来自动生成主键ID。以下是一个创建名为student的表的SQL语句该表包含id、name和age字段其中id字段会自动递增 sql CREATE TABLE student (id SERIAL PRIMARY KEY,name VARCHAR(255) NOT NULL,age INT NOT NULL );在这个建表语句中 id字段被设置为SERIAL类型这意味着每当您向表中插入新行时id字段的值会自动增加1。 PRIMARY KEY约束表示id字段是表的主键它在表中是唯一的并且不能为NULL。name字段被设置为VARCHAR(255)类型这是一个可变长度的字符串最大长度为255个字符。age字段被设置为INT类型用于存储整数值。 请注意SERIAL类型是一个整数类型它会在插入新行时自动增加但它的值有上限。如果您需要一个更大的数字范围可以使用BIGSERIAL类型它与SERIAL类型类似但可以存储更大的数字。 要向student表中插入数据您可以使用以下INSERT语句 INSERT INTO student (name, age) VALUES (John Doe, 20); INSERT INTO student (name, age) VALUES (Tom, 20);在这个INSERT语句中您不需要指定id字段因为它会自动生成。 ORM操作 # -- coding:utf-8 -- from sqlalchemy import Column, Integer, String, create_engine from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.orm import sessionmakerBase declarative_base()class User(Base):__tablename__ studentid Column(Integer, primary_keyTrue, autoincrementTrue)name Column(String(50), nullableFalse)age Column(Integer, nullableFalse)# 创建引擎和会话 engine create_engine(postgresql://admin:admin192.168.1.1/post) Session sessionmaker(bindengine) session Session()# 创建一个新用户 new_user User(namejohndoe, age18) session.add(new_user) session.commit() 数据插入成功 SERIAL数据类型 如果您的表已经创建但使用的是INT类型作为主键并且您想要修改它成为一个自动递增的SERIAL类型您可以使用ALTER TABLE语句来修改列的数据类型并将其设置为主键。以下是一个例子展示了如何将现有表users中的id列修改为SERIAL类型 ALTER TABLE users MODIFY id SERIAL PRIMARY KEY;这个命令会改变users表中id列的数据类型为SERIAL并且将其设置为表的主键。如果id列已经包含数据这个操作会自动为现有的每个id值分配一个唯一的序列值。 如果您想要保留id列的现有数据并仅为新插入的行生成序列值您可以使用ALTER TABLE ... ALTER COLUMN ... RESTART命令 ALTER TABLE users ALTER COLUMN id RESTART WITH 1;这个命令会将id序列重新启动设置下一个插入的行的id值为1。这将不会影响表中已经存在的行。 请注意这些命令应该在数据库服务器上直接执行而不是通过应用程序。如果您正在使用SQLAlchemy或其他ORM框架您可能需要先迁移现有的数据然后再修改表结构。 案例 如果之前建表语句中id 用的int类型怎么修改成SERIAL类型 如果您的表已经创建但使用的是INT类型作为主键并且您想要修改它成为一个自动递增的SERIAL类型您可以使用ALTER TABLE语句来修改列的数据类型并将其设置为主键。以下是一个例子展示了如何将现有表users中的id列修改为SERIAL类型 ALTER TABLE users MODIFY id SERIAL PRIMARY KEY;这个命令会改变users表中id列的数据类型为SERIAL并且将其设置为表的主键。如果id列已经包含数据这个操作会自动为现有的每个id值分配一个唯一的序列值。 如果您想要保留id列的现有数据并仅为新插入的行生成序列值您可以使用ALTER TABLE ... ALTER COLUMN ... RESTART命令 ALTER TABLE users ALTER COLUMN id RESTART WITH 1;这个命令会将id序列重新启动设置下一个插入的行的id值为1。这将不会影响表中已经存在的行。 请注意这些命令应该在数据库服务器上直接执行而不是通过应用程序。如果您正在使用SQLAlchemy或其他ORM框架您可能需要先迁移现有的数据然后再修改表结构。 SERIAL 与BIGSERIAL的区别 SERIAL和BIGSERIAL是PostgreSQL中用于自动递增整数键的数据类型它们之间的主要区别在于可以存储的数值范围 SERIAL它是INTEGER类型的一个别名用于自动递增的整数。SERIAL类型的取值范围与INTEGER类型相同理论上限是2^31 - 12147483647但实际上由于系统限制可能会有所不同。BIGSERIAL它是BIGINT类型的一个别名用于自动递增的更大范围的整数。BIGSERIAL类型的取值范围与BIGINT类型相同理论上限是2^63 - 19223372036854775807。 在选择SERIAL和BIGSERIAL时您应该根据您的应用程序所需的ID范围来决定。如果您预计ID值会非常大或者有可能达到INTEGER类型的上限那么应该使用BIGSERIAL。如果您确信ID值会在INTEGER类型的范围内那么SERIAL将是更高效的选择因为它在存储和处理上消耗的资源更少。 例如如果您正在构建一个可能会有数百万或更多用户的大规模应用程序并且用户ID需要有很大的范围那么使用BIGSERIAL会是更合适的选择。如果您构建的是一个小型应用程序用户数量有限那么SERIAL可能就足够了。 在创建表时您可以这样定义这两个类型 CREATE TABLE users (id SERIAL PRIMARY KEY,-- ... ); CREATE TABLE large_users (id BIGSERIAL PRIMARY KEY,-- ... );在SQLAlchemy中您可以这样指定这些类型 from sqlalchemy import Column, Integer, BigInteger class SmallUser(Base):__tablename__ usersid Column(Integer, primary_keyTrue)# ... class LargeUser(Base):__tablename__ large_usersid Column(BigInteger, primary_keyTrue)# ...在这个例子中SmallUser类使用Integer类型而LargeUser类使用BigInteger类型后者可以存储更大的数值。在SQLAlchemy中BigInteger类型对应于PostgreSQL中的BIGINT类型。
http://www.dnsts.com.cn/news/86985.html

相关文章:

  • 出版社网站建设道士召唤10个月灵的传奇手游
  • 做期货的一般看什么网站论坛网页模板
  • 医疗网站被黑后可以做排名广州市城乡建设信息中心网站
  • 同一个网站可以同时做竞价和优化购物网站的设计
  • 重庆网站建设cqhtwl大学生应届毕业生招聘官网
  • 电子商务网站开发与设计开源外贸网站
  • 网站的宣传推广云计算培训
  • 菏泽做网站建设的公司建设一个网站预算
  • 中山市做网站公司电商网站分析
  • 杭州网站优化流程图标在wordpress
  • 网站怎么做可以被收录wordpress没人用
  • 网站创意wordpress循环分类
  • 深圳网站建设网络公司深圳福田网站优化网络营销培训学校
  • 网站 维护 协议做外链那些网站比较好
  • 网站设计O2O平台佛山总代理网站源码下载网
  • 网站规划总结前端开发有前途吗
  • 网站分页需要前端做还是后端对购物网站建设的建议
  • 蓬莱专业做网站公司这里是我做的网站
  • 网站互联网推广企业网站带后台
  • 爱站关键词wordpress增加内存
  • 做网站能收回吗教育类网页设计素材
  • 台州路桥区专业高端网站设计网红助手24小时自助下单app
  • 制作网页网站公司网站建设的趋势
  • 上海集团网站建设价格网络营销的基本方法有哪些
  • 做外贸网站机构seo排名软件免费
  • 建网站 技术传统企业如何做好网络推广
  • 张家港保税区建设规划局网站国家时事新闻
  • 淮南做网站威海德嬴网站建设
  • 做旅行攻略的网站好专家一对一免费咨询
  • 视频网站如何做微信营销产品设计流程8个步骤