属性组的含义就是一组具有相互联系的属性组合而成的。
属性是比如一张表格中的学号和姓名等。一个事物(实体)有多个属性。学生有学号、姓名、班级、性别、年龄等属性。属性组就是几个属性的集合。
关系数据库中“属性”的意思是表中每一列称为一个属性(字段),每列都有属性名,也称之为列来或字段名,例如学号、姓名和专业码都是属性名。
Mysql数据库中表格属性的含义如下:
null:表示该列是否可以存储null。
key: 表示该列是否已编制索引。pri表示该列是表主键的一部分;uni表示该列是unique索引的一部分;null表示在列中某个给定值允许出现多次。
default:表示该列是否有默认值。如果有的话值是多少。
extra:表示可以获取的与给定列有关的附加信息,例如auto_increment等。
扩展资料
数据库中标称属性的特点:标称属性的值是一些符号或事物的名称。
每个值代表某种类别、编码、状态,因此标称属性又被看做是分类的(categorical)。
标称属性的值不具有有意义的序,而且不是定量的。(也就是说,给定一个对象集,找出这种属性的均值没有意义。
标称属性的注意事项:
这些值不必具有有意义的序,在计算机科学中,这些值也被看做是枚举的(enumeration)。
尽管标称属性的值是一些符号或“事物的名称”,但也可以用数表示这些符号或名称,如 hari_color,可以用 0 表示黑色,1 表示黄色
例子:hair_color(头发颜色)、marital_status(婚姻状况)、occupation(职业)。
可以直接自己添加描述字段。
DROP TABLE IF EXISTS `user`
CREATE TABLE user
( idBIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT
COMMENT '主键',
username VARCHAR(50) NOT NULL DEFAULT ''
COMMENT '用户名',
username_type VARCHAR(20) NOT NULL DEFAULT ''
COMMENT '用户类型',
user_password VARCHAR(50) NOT NULL DEFAULT ''
COMMENT '用户密码',
create_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
COMMENT '创建时间',
update_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE
CURRENT_TIMESTAMP
COMMENT '更新时间',
PRIMARY KEY (id),
UNIQUE KEY idx_urn(username) USING BTREE
)
ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4
COMMENT = '用户信息表'
或者。
#创建表的时候写注释
CREATE TABLE userinfo(
id INT COMMENT '编号',
uname VARCHAR(40) COMMENT '用户名',
address VARCHAR(120) COMMENT '家庭住址',
hobby VARCHAR(200) COMMENT '爱好'
)COMMENT = '用户信息表'
#修改表的注释
ALTER TABLE userinfo COMMENT '用户信息资料表'
#修改字段的注释,注意:字段名和字段类型照写就行
ALTER TABLE userinfo MODIFY COLUMN uname VARCHAR(40) COMMENT '姓名'
#查看表注释的方法,在生成的SQL语句中看
SHOW CREATE TABLE userinfo
#在元数据的表里面看
USE information_schema
SELECT * FROM TABLES WHERE TABLE_SCHEMA='shoppingcart' AND TABLE_NAME='userinfo'
#查看字段注释的方法
SHOW FULL COLUMNS FROM userinfo
#在元数据的表里面看
SELECT * FROM COLUMNS WHERE TABLE_SCHEMA='shoppingcart' AND TABLE_NAME='userinfo'
扩展资料:
mysql查询和索引:
只有当数据库里已经有了足够多的测试数据时,它的性能测试结果才有实际参考价值。如果在测试数据库里只有几百条数据记录,它们往往在执行完第一条查询命令之后就被全部加载到内存里,这将使后续的查询命令都执行得非常快--不管有没有使用索引。
只有当数据库里的记录超过了 1000 条、数据总量也超过了 MySQL 服务器上的内存总量时,数据库的性能测试结果才有意义。
在不确定应该在哪些数据列上创建索引的时候,人们从 EXPLAIN SELECT 命令那里往往可以获得一些帮助。这其实只是简单地给一条普通的 SELECT 命令加一个 EXPLAIN 关键字作为前缀而已。
有了这个关键字,MySQL 将不是去执行那条 SELECT 命令,而是去对它进行分析。MySQL 将以表格的形式把查询的执行过程和用到的索引等信息列出来。
在 EXPLAIN 命令的输出结果里,第1列是从数据库读取的数据表的名字,它们按被读取的先后顺序排列。type列指定了本数据表与其它数据表之间的关联关系(JOIN)。在各种类型的关联关系当中。
效率最高的是 system,然后依次是 const、eq_ref、ref、range、index 和 All(All 的意思是:对应于上一级数据表里的每一条记录,这个数据表里的所有记录都必须被读取一遍——这种情况往往可以用一索引来避免)。
possible_keys 数据列给出了 MySQL 在搜索数据记录时可选用的各个索引。key 数据列是 MySQL 实际选用的索引,这个索引按字节计算的长度在 key_len 数据列里给出。
比如说,对于一个 INTEGER 数据列的索引,这个字节长度将是4。如果用到了复合索引,在 key_len 数据列里还可以看到 MySQL 具体使用了它的哪些部分。作为一般规律,key_len 数据列里的值越小越好。
ref 数据列给出了关联关系中另一个数据表里的数据列的名字。row 数据列是 MySQL 在执行这个查询时预计会从这个数据表里读出的数据行的个数。row 数据列里的所有数字的乘积可以大致了解这个查询需要处理多少组合。
最后,extra 数据列提供了与 JOIN *** 作有关的更多信息,比如说,如果 MySQL 在执行这个查询时必须创建一个临时数据表,就会在 extra 列看到 usingtemporary 字样。
参考资料来源:百度百科-MySQL
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)