MySQL数据库使用——MySQL字段管理
来源:互联网 发布:单片机控制方案 编辑:程序博客网 时间:2024/05/17 09:31
- 添加字段ADD COLUMN
- 查看字段DESC
- 修改字段类型CHANGE COLUMN
- 修改字段名
- 删除字段 DROP COLUMN
- 字段数据类型定义
- 数值类型
- 字符串类型
- 时间类型
- 表中的键值
- 添加时间戳
字段就是在创建表的时候所添加的内容,比如id,name,password等关键信息,查看表中的字段在表中已经描述。
SQL命令:
SHOW COLUMNS FROM tablename;
mysql> SHOW COLUMNS FROM zusers;+-----------+-------------------+------+------+---------------------+----------------+| Field | Type | Null | Key | Default | Extra |+-------------+-----------------+------+------+---------------------+----------------+| id | int(10) unsigned | NO | PRI | NULL | auto_increment || vname | varchar(20) | YES | | NULL | || vpwd | varchar(50) | YES | | NULL | || add_time | timestamp | NO | | CURRENT_TIMESTAMP | |+-----------+-------------------+------+------+---------------------+----------------+4 rows in set
添加字段:ADD COLUMN
SQL命令:
ALTER TABLE <table name> ADD COLUMN <column name>;
mysql> ALTER TABLE zx_users ADD COLUMN phone int(20) UNSIGNED NULL DEFAULT NULL AFTER vpwd;Query OK, 0 rows affectedRecords: 0 Duplicates: 0 Warnings: 0mysql>
参数说明
ALTER TABLE zx_users :在zx_users这个表上添加字段ADD COLUMN phone :添加的字段名为phoneint(20) :字段类型为int型,长度为20UNSIGNED :类型为无符号类型NULL :添加内容时允许值为空DEFAULT NULL :默认为空AFTER vpwd :添加到字段vpwd后面,不加的话默认添加到表的末尾
查看字段:DESC
在表管理中已经介绍过。
SQL命令:
SHOW COLUMNS FROM <tablename>;
或:
DESC <tablename>;
SHOW COLUMNS FROM zx_users;+-----------+-------------------+------+------+---------------------+----------------+| Field | Type | Null | Key | Default | Extra |+-------------+-----------------+------+------+---------------------+----------------+| id | int(10) unsigned | NO | PRI | NULL | auto_increment || vname | varchar(20) | YES | | NULL | || vpwd | varchar(50) | YES | | NULL | || add_time | timestamp | NO | | CURRENT_TIMESTAMP | |+-----------+-------------------+------+------+---------------------+----------------+4 rows in set
修改字段类型:CHANGE COLUMN
SQL命令:
ALTER TABLE <tablename> CHANGE COLUMN <columnname> …
修改字段名
SQL命令:
ALTER TABLE <tablename> CHANGE COLUMN <columnname> <new columnname>;
删除字段: DROP COLUMN
SQL命令:
ALTER TABLE <tagblename> DROP COLUMN <columnname>;
mysql> DESC zx_users;+-----------+-------------------+------+------+---------------------+----------------+| Field | Type | Null | Key | Default | Extra |+-------------+-----------------+------+------+---------------------+----------------+| id | int(10) unsigned | NO | PRI | NULL | auto_increment || vname | varchar(20) | YES | | NULL | || vpwd | varchar(50) | YES | | NULL | || add_time | timestamp | NO | | CURRENT_TIMESTAMP | || test | int(10) unsigned | YES | | NULL | |+-----------+-------------------+------+------+---------------------+----------------+5 rows in setmysql> ALTER TABLE zx_users DROP COLUMN test;Query OK, 0 rows affectedRecords: 0 Duplicates: 0 Warnings: 0mysql> DESC zx_users;+-----------+-------------------+------+------+---------------------+----------------+| Field | Type | Null | Key | Default | Extra |+-------------+-----------------+------+------+---------------------+----------------+| id | int(10) unsigned | NO | PRI | NULL | auto_increment || vname | varchar(20) | YES | | NULL | || vpwd | varchar(50) | YES | | NULL | || add_time | timestamp | NO | | CURRENT_TIMESTAMP | |+-----------+-------------------+------+------+---------------------+----------------+4 rows in set
字段数据类型定义
MySQL支持的类型
数值类型
TINYINT:对应char类型,占用1字节。取值范围:有符号:-127~127,无符号:0~255;INT:对应int类型,占用4字节。取值范围:有符号:-231 ~231-1,无符号:0 ~232-1;TINYBLOB:最大占用255字节BLOB:占用0~64K字节
字符串类型
m为值的长度
CHAR(m) :占用m字节,m为字符串长度,m:0~255VARCHAR(m) :占用m字节,m为字符串长度,m:0~216-1TEXT(m) :占用m字节,m为字符串长度,m:0~216-1LOGTEXT(m) :占用m字节,m为字符串长度,m:0~232-1
时间类型
DATE :占用4字节,取值范围:1000-01-01 ~ 9999-12-31,格式:YYYY-MM-DDDATETIME :占用8字节,取值范围:1000-01-01 00:00:00 ~ 9999-12-31 23:59:59,格式:YYYY-MM-DD HH:MM:SSTIME :占用3字节,取值范围:-838:59:59 ~ 838:59:59,格式:HH:MM:SSYEAR :占用1字节,取值范围:1901 ~ 2155 格式:YYYYTIMESTAMP :占用4字节,取值范围:1970-01-01 00:00:00 ~ 2037-12-31 23:59:59格式:YYYY-MM-DD HH:MM:SS
TIMESTAMP主要用于插入时间戳
对时间类型的字段,可以调用系统的函数进行插入时间。
如之前创建表中,对类型为timestamp 的add_time字段的默认值设置为CURRENT_TIMESTAMP。因此在默认情况下插入值,该字段的值就默认为系统插入了一个时间戳。
例如:插入一个值
mysql> insert into zx_users(vname,vpwd) values ('user1',MD5('123456'));Query OK, 1 row affectedmysql> select * from zx_users where vname = 'user1';+----+-------+----------------------------------+--------+---------------------+| id | vname | vpwd | phone | add_time |+----+-------+----------------------------------+--------+---------------------+| 2 | user1 | e10adc3949ba59abbe56e057f20f883e | NULL | 2017-11-05 10:32:15 |+----+-------+----------------------------------+--------+---------------------+1 row in setmysql>
表中的键值
在创建表的时候有一段:
PRIMARY KEY (id
)
键值为关系型数据库关联检索数据的关键,只有键值的数值是唯一的,只要键值不等,即使后面的数据相等,也不影响数据检索。
再插入一个值的结果
mysql> insert into zx_users(vname,vpwd,phone) values ('user1',MD5('123456'),10086);Query OK, 1 row affectedmysql> select * from zx_users where vname = 'user1';+----+-------+----------------------------------+--------+---------------------+| id | vname | vpwd | phone | add_time |+----+-------+----------------------------------+--------+---------------------+| 2 | user1 | e10adc3949ba59abbe56e057f20f883e | NULL | 2017-11-05 10:32:15 || 3 | user1 | e10adc3949ba59abbe56e057f20f883e | 10086 | 2017-11-05 10:49:28 |+----+-------+----------------------------------+--------+---------------------+2 row in setmysql>
键值绝对不可公开,仅仅允许后台和维护MySQL使用,前端只能利用vname字段和vpwd字段。
表与表之间的关联其实是通过每张表的键值关联,一张表要添加关联另一张表的信息,仅仅只能添加另一张表键值的字段,不能将另一张表的其他信息“复制”到另一张表上。
详细使用在8.2章。
添加时间戳
在创建表的时候有一段:
`add_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
为当前表添加一个时间戳字段,这样就可以查看值的创建时间,在时间数据类型中展示到,添加了用户名和密码之后,就会调用系统函数
CURRENT_TIMESTAMP创建一个时间戳
阅读全文
0 0
- MySQL数据库使用——MySQL字段管理
- MySQL数据库使用——MySQL数据库管理
- MySQL数据库使用——MySQL用户管理
- MySQL数据库使用——MySQL表管理
- MySQL数据库——创建计算字段
- 使用phpMyAdmin管理MySQL数据库
- 使用数据库(mysql)字段保存文件
- 理解MySQL字段约束的概念、基本使用。企业新闻管理系统数据库建设
- 数据库字段类型-MySQL
- MySQL数据库字段属性
- mysql数据库字段操作
- mysql数据库字段生成
- MySQL数据库字段加密
- MYSQL数据库爆库爆表爆字段
- ubuntu使用phpAdmin网页管理Mysql数据库
- python下使用alembic管理MYSQL数据库
- mysql timestamp 字段使用
- MySQL数据库—使用命令行操作数据库
- 物联网操作系统HelloX下一版本的开发方向
- netty源码分析(二十四)TCP粘包与拆包实例演示及分析
- CentOS 7 Linux 中Yum方式安装MySQL(咋个办呢 zgbn)
- Centos 7 从零搭建nginx+tomcat集群
- pytorch可视化工具visdom启动失败解决方法
- MySQL数据库使用——MySQL字段管理
- 10、MyBatis与Spring整合
- Django处理一个请求的过程
- okhttp拦截器
- 神经网络的十万个为什么
- 通过FEDERATED变相实现多数据源
- 搜索详情
- jvm的GC算法总结
- test