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. Scalaz(48)- scalaz-stream: 深入了解-Transducer: Process1-tee-wye

    在上一篇讨论里我们介绍了Source,它的类型款式是这样的:Process[F[_],O].Source是通过await函数来产生数据流.await函数款式如下: def await[F[_], A, ...

  2. Scalaz(43)- 总结 :FP就是实用的编程模式

    完成了对Free Monad这部分内容的学习了解后,心头豁然开朗,存在心里对FP的疑虑也一扫而光.之前也抱着跟大多数人一样的主观概念,认为FP只适合学术性探讨.缺乏实际应用.运行效率低,很难发展成现实 ...

  3. Scalaz(15)- Monad:依赖注入-Reader besides Cake

    我们可以用Monad Reader来实现依赖注入(dependency injection DI or IOC)功能.Scala界中比较常用的不附加任何Framework的依赖注入方式可以说是Cake ...

  4. [javaSE] 反射-动态加载类

    Class.forName(“类的全称”) ①不仅表示了类的类类型,还代表了动态加载类 ②请大家区分编译,运行 ③编译时刻加载类是静态加载类,运行时刻加载类是动态加载类 Ⅰ所有的new对象都是静态加载 ...

  5. BaseActivity的抽取

    Activity有些公共部分,比如setContentView.Activity管理.初始化操作.联网操作.Activity跳转.关闭当前Activity.保存用户登录信息.读取用户登录信息等. 我们 ...

  6. C# RSA 分段加解密

    RSA加解密: 1024位的证书,加密时最大支持117个字节,解密时为128:2048位的证书,加密时最大支持245个字节,解密时为256. 加密时支持的最大字节数:证书位数/8 -11(比如:204 ...

  7. 从启动日志看Spring IOC的初始化和Bean生命周期

    一.Tomcat中启动IoC容器的日志 启动Tomcat等容器时,控制台每次都打印出一些日志. 最近刚好在研究Spring源码,所以换个角度,从启动日志来简单的看看Spring的初始化过程! 以下是T ...

  8. Echo.js – 简单易用的 JavaScript 图片延迟加载插件

    Echo.js 是一个独立的延迟加载图片的 JavaScript 插件.Echo.js 不依赖第三方库,压缩后不到1KB大小. 延迟加载是提高网页首屏显示速度的一种很有效的方法,当图片元素进入窗口可视 ...

  9. Aristochart – 灵活的 HTML5 Canvas 折线图

    Aristochart 是基于 HTML5 Canvas 的折线图功能库,具有高定制性和灵活性的特点.Aristochart 会帮助你处理图形显示,让你能够专注于业务逻辑处理. 您可能感兴趣的相关文章 ...

  10. CSS尺寸单位 % px em rem 详解

    在CSS中,尺寸单位分为两类:相对长度单位和绝对长度单位.相对长度单位按照不同的参考元素,又可以分为字体相对单位和视窗相对单位.字体相对单位有:em.ex.ch.rem:视窗相对单位有:vw.vh.v ...