my建表操作

创建表

    create Table <表名>
(
字段名1,数据类型 [列级约束] [默认值],
字段名2,数据类型 [列级约束] [默认值],
...
[表级约束],
[constraint <约束名> ...]
);

    Eg:
create table a
(
id int(11),
name varchar(255),
salary float
);

添加列级约束 / 表级约束

    Eg1://列级约束
create table a
(
id int(11) primary key auto_increment,
name varchar(255) not null default '',
telNumber varchar(255) Unique
);
//auto_incrementy一个表只能有一个字段使用,并且这个字段必须为主键的一部分

    Eg2://表级约束
create table b
(
id int(11),
name varchar(255),
telNumber varchar(255),
constraint fk foregin key (telNumber) reference a(telNumber),
constraint primary key (id,name),
constraint unique_con Unique(telNumber),
constraint unique_name_con Unique(name),
)

查看表的信息

查看表数据结构

DESCRIBE 表名

DESC 表名

查看表详细结构语句(建表语句,包括存储引擎和字符编码)

show create table <表名\G>;//不加 "\G" 参数,显示结果可能会非常混乱.

Eg:
show create table a\G;

修改表名

alter table a rename to c;

修改字段数据类型

 alter table <表名> modify <新字段名> <数据类型>

 alter table a modify name int(10);

修改字段名

alter table <表名> change <旧字段名> <新字段名> <新数据类型>

alter table a change name vname varchar(10)

添加字段

alter table <表名> add <新字段名> <数据类型> [约束条件] [first |(after 已存在的字段名)];

alter table a add age int(10) not null default 0 first;

alter table a add pid int(10) not null auto_increment default 0 after id;

删除字段

alter table <表名> drop <字段名>

alter table a drop vname;

修改字段的排列位置

alter table <表名> modify <字段1> <数据类型> first|after <字段2>;

alter table a modify name varchar(255) first;

alter table a modify nam varchar(255) abfter telNumber;

更改表的存储引擎

引擎名 是否支持
FEDERAted
MRG_MYISAM
MyISMA
BLACKHOLE
CSV
MEMORY
ARCHIVE
InnoDB 默认
PERFORMANCE_SCHEMA
alter table <表名> ENGINE=<更改后的存储引擎名>;

alter table a ENGINE=MyISAM;

删除表的外键约束

alter table <表名> drop foregin key <外键约束名>;

alter table a drop foregin key fk;

删除数据表

drop table [if exits] 表名1, 表名2,... 表名n;

drop table if exits a;

删除被其他表关联的主表

数据表之间存在外键关联的情况下,如果直接删除父表,结果会显示失败。原因是直接删除,将破坏表的参照完整性。如果必须要删除,可以先删除与它关联的子表,在删除父表,只是这样同时删除了两个表中的数据。但是有的情况下可能要保留子表,这时如要单独的删除父表,只需将关联表的外键约束条件取消,然后就可以删除父表。

Tips

虽然可以指定表的存储引擎,但是不同存储引擎的表之间不能建立外键约束

mysql学习笔记(一)的更多相关文章

  1. Mysql学习笔记(三)对表数据的增删改查。

    正文内容. 这一部分是最简单的,也是最麻烦的.简单是因为其实只包括增删该插四个部分.大体上看,增加数据.删除数据.修改数据.查询数据都不麻烦啊,我们日常都是常用的.这个谁不会呢?以前在培训机构学mys ...

  2. MySQL学习笔记一

    MySQL 学习笔记 一 一.数据库简单介绍 1. 按照数据库的发展时间顺序,主要出现了以下类型数据库系统: Ø 网状型数据库 Ø 层次型数据库 Ø 关系型数据库 Ø 面向对象数据库 上面4中数据库系 ...

  3. Mysql学习笔记(二)数据类型 补充

    原文:Mysql学习笔记(二)数据类型 补充 PS:简单的补充一下数据类型里的String类型以及列类型... 学习内容: 1.String类型 2.列类型存储需求 String类型: i.char与 ...

  4. Mysql学习笔记(一)数据类型

    原文:Mysql学习笔记(一)数据类型 学习内容: Mysql基本数据类型. 1.数字类型.. i.整型     Mysql数据类型             含义(有符号)     tinyint(m ...

  5. 初识mysql学习笔记

    使用VMVirtualBox导入Ubuntu后,可以通过sudo apt-get install mysql-server命令下载mysql. 在学习过程中,我遇到了连接不上Xshell的问题.最终在 ...

  6. MySQL学习笔记-锁相关话题

    在事务相关话题中,已经提到事务隔离性依靠锁机制实现的.在本篇中围绕着InnoDB与MyISAM锁机制的不同展开,进而描述锁的实现方式,多种锁的概念,以及死锁产生的原因.   Mysql常用存储引擎的锁 ...

  7. MySQL学习笔记-事务相关话题

    事务机制 事务(Transaction)是数据库区别于文件系统的重要特性之一.事务会把数据库从一种一致状态转换为另一个种一致状态.在数据库提交工作时,可以确保其要么所有修改都已经保存了,要么所有修改都 ...

  8. MySQL学习笔记-数据库文件

    数据库文件 MySQL主要文件类型有如下几种 参数文件:my.cnf--MySQL实例启动的时候在哪里可以找到数据库文件,并且指定某些初始化参数,这些参数定义了某种内存结构的大小等设置,还介绍了参数类 ...

  9. MySQL学习笔记-数据库内存

    数据库内存 InnoDB存储引擎内存由以下几个部分组成:缓冲池(buffer pool).重做日志缓冲池(redo log buffer)以及额外的内存池(additional memory pool ...

  10. MySQL学习笔记-数据库后台线程

    数据库后台线程 默认情况下讲述的InnoDB存储引擎,以后不再重复声明.后台线程有7个--4个IO thread,1个master thread,1个锁监控线程,1个错误监控线程.IO thread的 ...

随机推荐

  1. 百度地图自定义Marker

    最近写了百度地图的Demo,所以总结下遇到的问题: 1.首先在百度地图中创建应用时用到 发布版SHA1是在Preferences下的Android下的Build中;2.在使用百度地图时,先要创建一个A ...

  2. Gym 100703G---Game of numbers(DP)

    题目链接 http://vjudge.net/contest/132391#problem/G Description standard input/outputStatements — It' s ...

  3. Java的主要数据类型(Primitive)

    有一系列类需特别对待:可将它们想象成"基本"."主要"或者"主"(Primitive)类型,进行程序设计时要频繁用到它们.之所以要特别对待, ...

  4. linux常用命令之文件管理

    LS ls:list directory contents 默认情况 默认情况下显示的是mtime 选项 -a 列出全部文件及目录包括隐藏的 -l 列出详细信息,包括文件类型.权限.节点.owner. ...

  5. Webform(分页与组合查询配合使用)

    1.封装实体类 2.写查询方法 //SubjectData类 public List<Subject> Select(string name) { List<Subject> ...

  6. MagicSuggest – Bootstrap 主题的多选组合框

    MagicSuggest 是专为 Bootstrap 主题开发的多选组合框.它支持自定义呈现,数据通过 Ajax 异步获取,使用组件自动过滤.它允许空间免费项目,也有动态加载固定的建议. 您可能感兴趣 ...

  7. 【HTML5】浅析HTML5应用程序缓存(ApplicationCache)

    一.为什么需要Web应用程序缓存 在移动互联网时代,设备终端位置不再固定,依赖无线信号,网络的可靠性变得降低,比如坐在火车上,过了一个隧道(15分钟),便无法访问网站,这对于web的伤害是很大的    ...

  8. Welcome Phalcon

    Welcome! 欢迎来到 Phalcon 框架, 一种崭新的 PHP 框架.我们的使命是给开发者一个开发 web 站点和应用的高级工具,让开发者不用担心框架的性能问题. Phalcon 是什么? P ...

  9. 【javascript实例】 具有立体效果的图片浏览器

    此实例,直接粘贴代码即可运行,当然图片的路径不要忘记改了. 此实例是我一遍学习一边写出来的,希望能够帮到大家,一起学习.效果如图所示: html代码如下所示: <html xmlns=" ...

  10. 更改SAP的字段翻译

    TC:SE63在SAP用户选择屏幕中,用鼠标选定一个栏位后按F1键,可以看到SAP对其具体解释,通常这种解释文本分为两部分,一部分为标题,一部分为正文.比如:  有时,SAP的翻译让人感觉很别扭,对于 ...