Mysql 数据库之修改标的结构
比如我们新建一user表
create table user(
id int unsigned auto_increment primary key,
name varchar(60) not null default '',
password varchar(60) not null default '')engine=innodb charset=utf8;
新建到如下表结构: desc user;
对于mysql 中的表结构的修改(增删改),我们需要记住格式
alter table 表名 操作名称(add/drop/modify/change) [+对应的格式]; // ①
// 增加列 add column
需求:在user表中添加用户邮箱 email(在name字段后) / 登录次数 login_count
创建时间 create_at 在 login_count 之前
操作:
alter table user add email varchar(120) not null default '' after name;
alter table user add login_count int not null default 0;
alter table user add create_at int(10) not null default 0 before login_count; // 这个是错误的
alter table user add create_at int(10) not null default 0 after password;// 新增字段只有在某个字段之后,且这个关键字是after,没有before这个关键字
// 删除列 drop column
需求:删除login_count列
操作:
alter table user drop login_count;
需求:删除自增长的字段id的主键
1.修改id: alter table user change id id int not null;
只是修改了自增长,但是还是没有删掉主键
2.删除主键: alter table user drop primary key;
mysql的主键问题:
Mysql的两种主键。Primary key 和 not null auto_incriment 在建立mysql表时,给一个字段添加了主键primary key 在insert数据时可以不用insert主键,mysql会自动添加0,但是在第二次insert时没有填写值mysql数据库还是默认添加0,会导致有重复的主键,这是不可以的。所有在定义了primary key时,在insert数据时要给主键填写值。
在建立mysql表时,给一个字段添加了主键 not null auto_increment;
这也是一个主键。时自增长的以1为开始。这个字段是可以不用填写值的,mysql数据库会自动给填写值,不会出现primary key的状况。
要给没有添加主键自增的id添加主键自增
alter table tb add primary key(id);
alter table tb change id id int(10) not null auto_increment;// 而不是 alter table tb change id id int(10) not null auto_increment=1;(这个是错误的)
经过这里的分析,最好的办法也是一个很好的习惯,我们在创建表的时候就把主键自增设定好。
// 修改列 modify(修改某列的属性) change(完全修改某列)
需求:修改 create_at 列的类型为 timestamp 并且默认值是 '0000-00-00 00:00:00';
操作:
alter table user modify create_at timestamp not null default '0000-00-00 00:00:00';
需求:把name列修改为username列
操作:
alter table user change name username varchar(60) not null default '';
// 查询列
需求:查询user表所有信息
操作:desc user;
show columns from user;
以上,效果同。
需求:查看表的创建的代码
操作:show create table user;
复习用!
Mysql 数据库之修改标的结构的更多相关文章
- 从Mysql数据库中导入导出表结构
1.从Mysql数据库中导入sql表 很简单,只需要一个命令即可搞定:[root@localhost ~]# mysql -uroot -piweb_xxx_mysql iweb < modif ...
- MySql数据库安装&修改密码&开启远程连接图解
相关工具下载地址: mysql5.6 链接:http://pan.baidu.com/s/1o8ybn4I密码:aim1 SQLyog-12.0.8 链接:http://pan.baidu.com/s ...
- 查看mysql字符集及修改表结构--表字符集,字段字符集
MySQL 乱码的根源是的 MySQL 字符集设置不当的问题,本文汇总了有关查看 MySQL 字符集的命令.包括查看 MySQL 数据库服务器字符集.查看 MySQL 数据库字符集,以及数据表和字段的 ...
- 查看mysql字符集及修改表结构
MySQL 乱码的根源是的 MySQL 字符集设置不当的问题,本文汇总了有关查看 MySQL 字符集的命令.包括查看 MySQL 数据库服务器字符集.查看 MySQL 数据库字符集,以及数据表和字段的 ...
- Win7安装mysql数据库、修改默认密码
学习和使用myslq数据库半年时间,mysql对于每一个开发人员都不会陌生.今天对电脑重装系统,为了方面测试在个人PC上安装了mysql数据库.以一下是整个安装过程. 一.下载mysql 1.首先需要 ...
- windows安装mysql数据库并修改密码
1.下载 MySQL Community Server https://dev.mysql.com/downloads/mysql/ 2.解压 如果想要让MySQL安装在指定目录,那么就将解压后的文件 ...
- mysql数据库如何修改密码及权限分配
如何修改Mysql密码 Mysql用户密码采用md5加密函数加密(单向加密) SELECT PASSWORD('root'); -- *81F5E21E35407D884A6CD4A731AEBFB6 ...
- Mysql数据库上修改日期-->造数据
这次要给客户安装测试ineedle设备,但是安装后不会立刻有数据显示,不能够全面的展示给用户web界面的一些信息.此时需要有一个公网服务器能够展示一下ineedle统计数据,但是公司58设备上没有流量 ...
- 有关WAMPSERVER 环境搭建 如何修改端口,MySQL数据库的修改
环境搭建 http://share.weiyun.com/88896747fedd4e8b19afebea18f7684c 一.修改Apache的监听端口 1.在界面中选Apache,弹出隐藏菜单选项 ...
随机推荐
- MYSQL(二)
上一篇文章讲的是mysql的基本操作,这一篇会有一点难以理解,本节主要内容mysql视图,存储过程,函数,事务,触发器,以及动态执行sql 视图view 视图是一个虚拟表,其内容由查询定义.同真实的表 ...
- WebService -- Java 实现之 CXF (初体验)
1. 认识WebService 简而言之,她就是:一种跨编程语言以及操作系统的远程调用技术. 大家都可以根据定义好的规范和接口进行开发,尽管各自的使用的开发语言和操作系统有所不同,但是由于都遵循统一的 ...
- RobotFrameWork(五)控制流之if语句——Run Keyword If
5.1 语句简介 robotframework中的if语句是使用关键字Run Keyword If来代替的 Run Keyword If 函数释义:如果给出的判断条件满足,就执行给出的关键字. 函数结 ...
- 没有活动事务 链接服务器的 OLE DB 访问接口 "SQLNCLI" 无法启动分布式事务
在windows2003下执行分布式事务的时候出现如下情况. 一. 问题现象在执行分布式事务时,在sql server 2005下收到如下错误: 链接服务器"xxxxxxx"的 O ...
- 移动端web开发技巧
META相关 1. 添加到主屏后的标题(IOS)
- C#创建socket服务
1.新建windows服务,名称(WebSendMsgSocket,注意检查属性-版本号) 双击Service1.cs打开设计视图,在设计视图中右键,选择添加安装程序 安装serviceProc ...
- 解决IE8 内置JSON.stringify,中文变unicode的问题
转自:http://my.oschina.net/u/919074/blog/191131 项目中出现在IE下出现把json对象转为json串中文变成unicode的问题,最后经过排查,发现是IE8内 ...
- Windows无法安装到GPT分区的磁盘的解决方法
thinkpad 预装win8的机子,硬盘采用gpt分区,在重新安装其它系统的时候是无法安装的,会提示“windows无法安装到这个磁盘,选中的磁盘采用GPT分区 形式".所以先采用下面的方 ...
- AngularJS Bootstrap
AngularJS 的首选样式表是 Bootstrap. 可以在 AngularJS 应用中加入 Twitter Bootstrap,你可以在你的 <head>元素中添加如下代码: < ...
- Git TortoiseGit SSH设置
Git TortoiseGit SSH设置 http://www.cnblogs.com/ChenRihe/p/Git_TortoiseGit_SSH.html TortoiseGit默认的SSH客户 ...