精华内容
下载资源
问答
  • 先创建一个数据库 create database demo1; 使用数据库 use demo1;...添加表的每一列的 属性 id int primary key auto_increment, username varchar(20) unique, password varchar(20) not null, age

    先创建一个数据库

    create database demo1;

    使用数据库

    use demo1;

    在数据库中创建一个表

    create table user2(

    添加表的每一列的 属性

    id int primary key auto_increment,

    username varchar(20) unique,

    password varchar(20) not null,

    age int,

    birthday date

    );

    展开全文
  • 数据库】给商品表添加属性

    千次阅读 2016-07-31 10:15:55
    如何商品表添加属性属性值?属性对于商品而言肯定是一对多的,属性值对于属性也是一对多的。那么在不知道这个商品有哪些属性属性下又有哪些属性值得情况下,如何来设计这个呢?商品的属性在不同的属性值下...

    如何为商品表添加上属性,属性值?属性对于商品而言肯定是一对多的,属性值对于属性也是一对多的。那么在不知道这个商品有哪些属性,属性下又有哪些属性值得情况下,如何来设计这个呢?商品的属性在不同的属性值下价格、库存、图片等都是不一样的eg:一个手机128G 版本的肯定和16G版本的价格不一样吧。

    对于这个问题,我认为既然一件商品的属性在不同属性值下相当于另外一件商品。那么在这个商品的基础上应该拥有他的子商品集,关系也是一对多。即:我们要给商品加上属性这一元素,需要添加三张表,属性表、属性值表、子商品表。下面给出表的结构:


    --
    -- 表的结构 `goods` 商品表
    --
    
    CREATE TABLE `goods` (
      `GoodsId` int(11) NOT NULL COMMENT '商品id',
      `GoodsName` varchar(50) NOT NULL COMMENT '商品名称',
      `Price` float NOT NULL COMMENT '价格',
      `MarketPrice` float NOT NULL COMMENT '市场价',
      `SalVolume` int(10) NOT NULL COMMENT '销量',
      `GoodsImages` varchar(300) NOT NULL COMMENT '商品图片',
      `GoodsClass` varchar(20) NOT NULL COMMENT '商品类型',
      `GoodsDetails` text NOT NULL COMMENT '商品描述',
      `goodstag` varchar(50) NOT NULL COMMENT '商品标签'
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    
    
    
    --
    -- 表的结构 `goodsitem` 子商品表
    --
    
    CREATE TABLE `goodsitem` (
      `goodsitemid` int(11) NOT NULL COMMENT '子商品id',
      `goodsid` int(11) NOT NULL COMMENT '商品id',
      `itemprice` float NOT NULL COMMENT '子商品价格',
      `iteminventory` int(11) NOT NULL COMMENT '库存量',
      `valuesids` varchar(50) NOT NULL COMMENT '属性值id',
      `title` varchar(50) NOT NULL COMMENT '商品标题',
      `pics` varchar(200) NOT NULL COMMENT '商品图片'
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    
    
    
    --
    -- 表的结构 `goodsitemkey` 商品属性表
    --
    
    CREATE TABLE `goodsitemkey` (
      `keyid` int(11) NOT NULL COMMENT '主键Id',
      `goodsid` int(11) NOT NULL COMMENT '商品Id',
      `keyname` varchar(50) NOT NULL COMMENT '属性名'
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    
    
    --
    -- 表的结构 `goodsitemvalues` 商品属性值表
    --
    
    CREATE TABLE `goodsitemvalues` (
      `valuesid` int(11) NOT NULL COMMENT '属性值id',
      `keyid` int(11) NOT NULL COMMENT '属性id',
      `valuesname` varchar(50) NOT NULL COMMENT '属性名'
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

    需要注意的是在给子商品表添加数据时需要保证数据完整性,即他应该是属性名和属性值交叉得出的结果,valuesids必须描述完所有的属性值

    eg:属性名有 (keyid = 1) 颜色 (keyid = 2)大小

    属性值有   (valuesid = 1 )白色  (valuesid = 2 )黑色 (valuesid =3) 红色

        (valuesid = 4 )小 (valuesid = 5 )中 (valuesid = 6) 大

    那么对于子商品valuesids的描述应该有 valuesids= 1,4 ; valuesids=1,5;valuesids=1,6;valuesids= 2,4 ; valuesids=2,5;valuesids=2,6;valuesids= 3,4 ; valuesids=3,5;valuesids=3,6。

    最后,这只是我的最开始时的思路,可能不完美,但是这个思考过程是很nice的

    展开全文
  • 需求缘起 产品第一版:用户有用户名、...第二版,产品经理增加了年龄,性别两个属性,结构可能要变成: user(uid, name, passwd, nick, age, sex) 假设数据量和并发量比较大,怎么变? (1)alter table add

    http://mp.weixin.qq.com/s?__biz=MjM5ODYxMDA5OQ==&mid=2651959762&idx=1&sn=f7d8d7648416a0157af6ac61a6b555c8&chksm=bd2d040e8a5a8d181ec1baa2e96982991ddfc218bb6838f38da61b651e4b8de5f0bbbd94f814&scene=21#wechat_redirect

    需求缘起

    产品第一版:用户有用户名、密码、昵称等三个属性,对应表设计:

    user(uid, name, passwd, nick)

    第二版,产品经理增加了年龄,性别两个属性,表结构可能要变成:

    user(uid, name, passwd, nick, age, sex)


    假设数据量和并发量比较大,怎么变?

    1alter table add column?不太可行,锁表时间长

    2)新表+触发器?如果数据量太大,新表不一定装得下,何况触发器对数据库性能的影响比较高

    3)让dba来搞?新表,迁移数据,一致性校验,renamedba真苦逼

     

    今天分享2列扩展性设计上几个小技巧,只占大伙1分钟(下班太晚的话,只能写一分钟系列=_=

     

    方案一:版本号+通用列

    以上面的用户表为例,假设只有uidname上有查询需求,表可以设计为

    user(uid, name, version, ext)

    1uidname有查询需求,必须设计为单独的列并建立索引

    2version是版本号字段,它对ext进行了版本解释

    3ext采用可扩展的字符串协议载体,承载被查询的属性


    例如,最开始上线的时候,版本为0,此时只有passwdnick两个属性,那么数据为:



    当产品经理需要扩展属性时,新数据将版本变为1,此时新增了agesex两个数据,数据变为:

    优点

    1可以随时动态扩展属性

    2新旧两种数据可以同时存在

    3迁移数据方便,写个小程序将旧版本ext的改为新版本的ext,并修改version

    不足

    1ext里的字段无法建立索引

    2ext里的key值有大量冗余,建议key短一些

    改进

    1)如果ext里的属性有索引需求,可能Nosql的如MongoDB会更适合

     

    方案二:通过扩展行的方式来扩展属性

    以上面的用户表为例,可以设计为

    user(uid, key, value)

    初期有name, passwd, nick三个属性,那么数据为:



    未来扩展了agesex两个属性,数据变为:

    优点

    1可以随时动态扩展属性

    2新旧两种数据可以同时存在

    3迁移数据方便,写个小程序可以将新增的属性加上

    4各个属性上都可以查询

    不足

    1key值有大量冗余,建议key短一些

    2)本来一条记录很多属性,会变成多条记录,行数会增加很多

     

    总结

    可以通过“version+ext”或者“key+value”的方式来满足产品新增列的需求,希望没有浪费你这一分钟,有收获就好。

    展开全文
  • MYSQL 添加和修改数据库字段属性

    千次阅读 2019-08-27 10:16:46
    1、添加数据库字段 例子:添加发货人QQ字段...添加某个的字段类型及指定空或非空 >alter table 名称 ADD 字段名称 字段名称 字段类型 [是否允许非空]; 2、修改数据库字段 例子:修改更新时间随数据库...

    1、添加数据库字段

    例子:添加发货人QQ字段,允许为空
    ALTER TABLE consignor ADD COLUMN qq VARCHAR ( 64 ) NULL COMMENT '发货人QQ号';
    添加某个表的字段类型及指定为空或非空
    >alter table 表名称 ADD 字段名称 字段名称 字段类型 [是否允许非空];

    2、修改数据库字段

    例子:修改更新时间随数据库修改而变化
    ALTER TABLE portal_shipper_application MODIFY COLUMN modify_time datetime DEFAULT 
    CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP  COMMENT '更新时间';
    修改某个表的字段类型及指定为空或非空
    >alter table 表名称 change 字段名称 字段名称 字段类型 [是否允许非空];
    >alter table 表名称 modify 字段名称 字段类型 [是否允许非空];

     

    展开全文
  • 创建数据库表添加约束

    千次阅读 2018-09-20 19:57:10
    一、创建数据 1、Oracle中的数据类型 2、创建数据库表 二、数据完整性的概念 1、使用SQL语句创建、删除、查看约束 2、命名规范 3、和数据字典
  • 数据库表中的字段添加约束

    千次阅读 2018-07-13 15:54:15
    菜类别:表名:foodType字段:id --主键字段:typeName --类别名称菜品种:表名:food字段:id --主键字段:foodName --菜名字段:foodType_id --所属菜类别举例子:菜类别有川菜,湘菜,东北菜菜名有 :鱼...
  • oracle11g 11.2.0 //先缓存 CREATE TABLE temp_cache_table AS SELECT * FROM 表名; //删除原所有数据 ...ALTER TABLE 表名 MODIFY 列名 新属性; --ALTER TABLE orguser MODIFY username VARCHAR2(200 BYT...
  • 数据库学习】数据库总结

    万次阅读 多人点赞 2018-07-26 13:26:41
    1,数据库 1)概念 数据库是长期存储在计算机内、有组织的、可共享的大量数据的集合。 常见数据库管理系统有:Access、mysql、sql server 2)特点 ①数据库数据特点 永久存储、有组织...
  • 在 Visual Studio 中创建一个数据库添加表 可以使用 Visual Studio 来创建和更新 SQL Server Express LocalDB 中的本地数据库文件。还可以通过在 Visual Studio 的 "SQL Server 对象资源管理器工具" 窗口中...
  • 数据库属性

    千次阅读 2019-07-15 21:26:21
    默认值,字段设置该属性后,如果用户不进行数据插入则使用事先准备好的数据来填充,不设置默认NULL。 设置DEFAULT属性 查看DEFAULT属性 触发DEFAULT属性 COMMENT属性 列描述,给开发人...
  • 往sql数据库表添加字段

    千次阅读 2015-11-25 11:04:00
    通用式: alter table [表名] add [字段名] 字段属性 default 缺省值 default 是可选参数增加字段: alter table [表名] add 字段名 smallint default 0 增加数字字段,整型,缺省值0alter table [表名] add 字段...
  • mysql数据库属性

    千次阅读 2018-03-08 15:59:42
    mysql数据库属性主要有:null/not null,default,primary key, unique key, auto_increment, comment等(1)空属性:null/not null(2)列描述:comment(3)默认值:某一种数据会经常性的出现某个具体的值。可以在一...
  • MySQL基本操作一:数据库

    万次阅读 多人点赞 2018-05-23 21:55:49
    本章,主要就数据库的基本操作作以总结。 需要事先说明的一点是,我写的所有MySQL的代码将采用大写形式。虽然说至少在MySQL环境下,SQL语句的大小写并不会影响代码运行结果,但是,有同行讲到,SQL语句大写比...
  • 数据库数据的插入

    千次阅读 2019-11-21 20:02:54
    insert into 名称(属性1, 属性2, 属性3 ,属性4) values (1,‘数据库原理’,20,‘高教’), (2,‘水浒传’,30,‘高教’) 注意,最后一个()后没有逗号, --插入数据 insert into tushu(shuid, shun...
  • 我们针对数据库的增删改查语句比较熟悉了,但是今天建立数据库的时候想在固定位置通过语句添加一列,做以下总结: ALTER TABLE:添加,修改,删除的列,约束等的定义。 查看列:desc 表名; 修改表名:...
  • 数据库简介、及常用数据库介绍

    万次阅读 多人点赞 2018-09-17 22:10:14
    一、数据库简介 数据库:就是数据的仓库,它是长期存储在计算机内,有组织的、可共享的数据的集合。 数据库管理系统(DBMS: 用来对数据进行存储、管理等操作的软件 二、数据库分类 数据库通常分为层次式数据库...
  • 数据库创建的时候加注释

    千次阅读 2018-01-09 11:00:56
    数据库创建的时候加注释 COMMENT 'xxx' CREATE TABLE `bs_pawn_tickets` (  `TICKET_ID` varchar(32) DEFAULT NULL COMMENT 'xxx',  `PROJECT_ID` varchar(32) DEFAULT NULL COMMENT 'aaa',  `TICKET_NO` ...
  • 添加数据库的操作

    万次阅读 2021-06-15 09:56:40
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ...添加数据库首先第一步,右击‘schoolManageSystem’项,点击添加,再选择到‘新建文件夹’,其命名‘Models’ 。 ...
  • ...下面就您介绍表添加字段的SQL语句的写法,希望可以让您对SQL语句有更深的认识。 通用式: alter table [表名] add [字段名] 字段属性 default 缺省值 default 是可选参数 增加字
  • 一、实体属性 @Entity(name = "recommend_lottery") public class Student{ @Id @Column(name = "id", nullable = false) private String id; // id @Column(name = "userno") private String userno; // ...
  • 171204之数据库修改字段属性

    千次阅读 2017-12-04 10:01:43
    修改字段属性的一些操作,包括添加字段、删除字段、添加主键、添加唯一约束、添加外键等。1:向添加字段 alter table [表名] add [列名] 类型2:删除字段 alter table [表名] drop column [列名]3:修改中...
  • 一,需要先建立数据库 看这一篇文章,请点击 二,的创建 例如: 图书(书号,书名,价格,出版社) 读者(卡号,姓名,年龄,所属单位) 借阅(书号,卡号,借阅日期) 1,先给出具体的例子 --建立 ...
  • 数据库删除中数据

    千次阅读 2019-03-27 11:37:48
    数据库删除中数据,如果直接清空数据,id自增长的话,再添加的数据会从清除之前的id继续自增长,想要删除数据,id 自增长仍然从1开始,如下操作: show create TABLE Analysis.ORDER_SUMM 执行以上语句结果如下:...
  • 数据库中的定义属性(字段)

    千次阅读 2018-08-09 21:40:08
    定义属性 概述 ·django根据属性的类型确定以下信息 ... ·django会为表增加自动增长的主键列,每个模型只能有一个主键列,如果使用选项设置某属性为主键列后,则django不会再生成默认的主键列 ·属性命名限制 ...
  • 文章目录一、 InnoDB存储引擎的空间二、 创建数据库表 一、 InnoDB存储引擎的空间 ...空间有四个文件组成:ibdata1、ibdata2、ibdata3、ibdata4,每个文件的大小10M,当每个文件都满了的时候,ibda...
  • 数据库技术中,用数据模型的概念描述数据库的结构和语义,是对现实世界的数据抽象。数据模型是研究数据库技术的核心和基础。 文章目录1.概念数据模型(CDM)2.逻辑数据模型(LDM)3.物理数据模型(PDM) 1.概念...
  • spring data jpa 框架在实体类中添加数据库字段的属性 Spring-data-jpa实体的字段和的字段是一一对应的。比如,那么,如果我在查询时,想在表字段的基础上添加几个返回的字段,怎么办? @Transient privite ...
  • 在开发过程中,有时因数据库设计者未考虑周到,业务实体有一个属性没有对应的字段,因此需要在数据库表加一个字段,又由于此字段要求不可空,并且在开发阶段,测试数据不多,有时是drop掉了原来的,增加了一个...
  • 上一篇文章主要讲如何从命令行使用命令添加数据库、表格、以及字段名。 https://blog.csdn.net/alice_tl/article/details/88930900 这一篇文章讲如何通过Mysql的可视化图形工具Workbench来做同样的操作。包含Mysql...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 629,307
精华内容 251,722
关键字:

数据库为表添加属性