Mysql学习—查看表结构、修改和删除数据表
原文出自:http://blog.csdn.net/junjieguo/article/details/7668775
查看表结构
查看表结构可以用语句DESCRIBE或SHOW CREATE TABLE语句。
1、查看表的基本结构语句:
DESCRIBE 表名;
2、查看表详细结构语句:
SHOW CREATE TABLE 表名;
实例:
SHOW CREATE TABLE example\G
修改表
1、修改表名
在Mysql中,修改表名通过ALTER TABLE实现的。具体语法为:
ALTER TABLE 旧表名
RENAME [TO] 新表名;
TO参数是可选参数,是否出现对语句的执行不会产生影响。
2、修改字段的数据类型
在Mysql中,ALTER TABLE 语句也可以用来修改字段的数据类型。其语法为:
ALTER TABLE 表名 MODIFY 属性名 数据类型;
3 、修改字段名
在Mysql中,ALTER TABLE 语句也可以用来修改字段名。其语法为:
ALTER TABLE 表名 CHANGE 旧属性名 新属性名 新数据类型;
4、增加字段
在Mysql中,ALTER TABLE 语句也可以用来增加字段,其语法为:
ALTER TABLE 表名 ADD 属性名1 数据类型 [完整性约束条件] [FIRST | AFTER 属性名2];
其中“属性名1”参数是指需要增加的字段名称,“数据类型”参数是指新增字段的数据类型,”完整性约束条件“是可选参数,用来设置新字段的完整性约束条件。
实例:
1、增加无完整型约束条件的字段(默认添加到最后)
ALTER TABLE user ADD phone VARCHAR(20) ;
2、增加有完整性约束条件的字段
ALTER TABLE user ADD age INT(4) NOT NULL;
3、表的第一个位置增加字段
ALTER TABLE user ADD num INT(8) PRIMARY KEY FIRST;
将num字段加到表的开头并设置num字段为主键。
4、表的指定位置之后增加字段
ALTER TABLE user ADD address VARCHAR(30) NOT NULL AFTER phone;
5、删除字段
在Mysql中,ALTER TABLE 语句也可以用来删除表中的字段。其语法为:
ALTER TABLE 表名 DROP 属性名。
6、修改字段的排列位置
在Mysql中,ALTER TABLE 语句也可以用来修改字段的排列位置。其语法为:
ALTER TABLE 表名 MODIFY 属性名1 数据类型 FIRST|AFTER 属性名2;
其中,“属性名1”参数是指需要修改位置的字段的名称,“数据类型”是指“属性名1”的数据类型。
实例:
1、字段修改到第一个位置。
ALTER TABLE user MODIFY stu_name VARCHAR(20) FIRST;
2、字段修改到指定位置
ALTER TABLE user MODIFY sex TINYINT(1) AFTER id;
7、更改表的存储引擎
Mysql存储引擎是指Mysql数据库中表的存储类型。Mysql存储类型包括InnoDB、 MyISAM、MEMORY等。在Mysql中,ALTER TABLE 语句也可以用来修改表的存储引擎类型。其语法为:
ALTER TABLE 表名 ENGINE=存储引擎名;
通过SHOW ENGINES\G 查看Mysql数据库支持的数据类型。
实例:
ALTER TABLE user ENGINE=InnoDB;
8、删除表的外键约束
在Mysql中,ALTER TABLE 语句也可以用来删除表的外键约束。其语法为:
ALTER TABLE 表名 DROP FOREIGN KEY 外键别名;
实例:
ALTER TABLE example3 DROP FOREIGN KEY c_fk;
删除表
Mysql中,通过DROP TABLE语句来删除表。
1、删除没有被关联的普通表
Mysql中,直接通过DROP TABLE语句来删除表,其余语法为:
DROP TABLE 表名;
2、删除被其他表关联的父表
先删除外键约束,然后再删除父表。
Mysql学习—查看表结构、修改和删除数据表的更多相关文章
- MySQL的修改和删除数据表字段
MySQL的修改和删除数据表字段 写在前面: 数据库存在的意义:数据存储和数据管理. 数据库:行(数据),列(字段) 注意:本页是解决了列的字段问题.下一页是解决行的数据问题. 注意,所有的字段名,最 ...
- MySQL学习之路2-数据库and数据表的基本操作
数据库基本操作 查看.选择数据库: show databases; use <databasename>; 创建数据库:create database <dbname> cha ...
- 程序媛计划——mysql 插入、查找、修改、删除数据
#插入.查找数据 [mysql>create table if not exists exam_score( ..>id int(4) not null primary key auto_ ...
- sql server 笔记(数据类型/新建、修改、删除数据表/)
1.数据类型: Character 字符串 / Unicode 字符串 / Binary 类型 / Number 类型 / Date 类型 / 其他数据类型 详解:http://www.w3sc ...
- mysql基础篇 - 数据库及表的修改和删除
基础篇 - 数据库及表的修改和删除 修改和删除 一.实验简介 本节实验中,我们将学习并实践如何对数据库的内容做修改,删除,重命名等操作. 二.实验准备 在正式开始本实验内容之前,需要先 ...
- 吴裕雄--天生自然MySQL学习笔记:MySQL 删除数据表
MySQL中删除数据表是非常容易操作的, 但是在进行删除表操作时要非常小心,因为执行删除命令后所有数据都会消失. 语法 以下为删除MySQL数据表的通用语法: DROP TABLE table_nam ...
- MySQL学习(三)主备分库分表和恢复数据 --- 2019年2月
1.MySQL主备切换 readonly 设置对超级(super)权限是无效的,而用于同步更新的线程,就拥有超级权限. 建议在做主备数据库的时候,将备用数据库设置为只读.(反向用readonly来判断 ...
- oracle中的sys用户(修改密码)/////Oracle删除表空间的同时删除数据文件 ///// Oracle中如何保证用户只有一个session登录
oracle中的sys用户(修改密码) (2011-07-01 09:18:11) 转载▼ 标签: it 分类: oracle 概念: SYS用户是Oracle中权限最高的用户,而SYSTEM是一个用 ...
- MySQL学习——查看数据库信息
MySQL学习——查看数据库信息 摘要:本文主要学习了查看数据库信息的方法. 查询指定表的索引 语法 show index from 表名; 示例 mysql> show index from ...
随机推荐
- vue-router使用next()跳转到指定路径时会无限循环
我在路由为 /path 的页面这样写 beforeRouteLeave (to, from, next) { console.log('离开路路由') if(to.fullPath==='/home' ...
- //封装tabs函数
//封装tabs函数function tabs(tabTit,on,tabCon){ $(tabCon).each(function(){ $(this).children().eq(0).show( ...
- 29 python 并发编程之多线程理论
一 什么是线程 在传统操作系统中,每个进程有一个地址空间,而且默认就有一个控制线程 线程顾名思义,就是一条流水线工作的过程,一条流水线必须属于一个车间,一个车间的工作过程是一个进程 车间负责把资源整合 ...
- Mat ,IplImage, CvMat 之间的转换的总结
在新版本与旧版本之间纠结,到底是用Mat,还是Iplimage? Mat 侧重于数据计算,而Iplimage注重于图像的处理. 因此,应根据具体需要灵活使用,那个好用用哪个,只要在两者之间进行转换即可 ...
- PKUSC2018 Slay The Spire
有攻击牌和强化牌各 $n$ 张,强化牌可以让之后所有攻击牌攻击力乘一个大于 $1$ 的系数,攻击牌可以造成伤害 求所有“抽出 $m$ 张然后打 $k$ 张”能造成的伤害之和 $k,m,2n \leq ...
- celery 停止执行中 task
目录 原因 解决过程 原因 因为最近项目需求中需要提供对异步执行任务终止的功能,所以在寻找停止celery task任务的方法.这种需求以前没有碰到过,所以,只能求助于百度和google,但是找遍了资 ...
- Mybatis相关SQL操作总结
1.resultMap和resultType等参数以及结果集 <select id="getApplicationByRoleCode" resultType="p ...
- python模块导入的问题
从模块导入函数时,通常可以使用 import somemodule 或者 from somemodule import somefunction 或者 from somemodule import s ...
- xj监控端口,模拟登陆脚本
#!/bin/bash date=`date +%Y%m%d-%H%M` count=0 ip1=124.117.246.195 ip2=124.117.246.194 port1=(443 80 6 ...
- 【转】rails中的时区问题
http://eric-gao.iteye.com/blog/1058197 解释4个时区设置的不同: config.active_record.default_timezoneconfig.time ...