mysql学习笔记(一)
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学习笔记(一)的更多相关文章
- Mysql学习笔记(三)对表数据的增删改查。
正文内容. 这一部分是最简单的,也是最麻烦的.简单是因为其实只包括增删该插四个部分.大体上看,增加数据.删除数据.修改数据.查询数据都不麻烦啊,我们日常都是常用的.这个谁不会呢?以前在培训机构学mys ...
- MySQL学习笔记一
MySQL 学习笔记 一 一.数据库简单介绍 1. 按照数据库的发展时间顺序,主要出现了以下类型数据库系统: Ø 网状型数据库 Ø 层次型数据库 Ø 关系型数据库 Ø 面向对象数据库 上面4中数据库系 ...
- Mysql学习笔记(二)数据类型 补充
原文:Mysql学习笔记(二)数据类型 补充 PS:简单的补充一下数据类型里的String类型以及列类型... 学习内容: 1.String类型 2.列类型存储需求 String类型: i.char与 ...
- Mysql学习笔记(一)数据类型
原文:Mysql学习笔记(一)数据类型 学习内容: Mysql基本数据类型. 1.数字类型.. i.整型 Mysql数据类型 含义(有符号) tinyint(m ...
- 初识mysql学习笔记
使用VMVirtualBox导入Ubuntu后,可以通过sudo apt-get install mysql-server命令下载mysql. 在学习过程中,我遇到了连接不上Xshell的问题.最终在 ...
- MySQL学习笔记-锁相关话题
在事务相关话题中,已经提到事务隔离性依靠锁机制实现的.在本篇中围绕着InnoDB与MyISAM锁机制的不同展开,进而描述锁的实现方式,多种锁的概念,以及死锁产生的原因. Mysql常用存储引擎的锁 ...
- MySQL学习笔记-事务相关话题
事务机制 事务(Transaction)是数据库区别于文件系统的重要特性之一.事务会把数据库从一种一致状态转换为另一个种一致状态.在数据库提交工作时,可以确保其要么所有修改都已经保存了,要么所有修改都 ...
- MySQL学习笔记-数据库文件
数据库文件 MySQL主要文件类型有如下几种 参数文件:my.cnf--MySQL实例启动的时候在哪里可以找到数据库文件,并且指定某些初始化参数,这些参数定义了某种内存结构的大小等设置,还介绍了参数类 ...
- MySQL学习笔记-数据库内存
数据库内存 InnoDB存储引擎内存由以下几个部分组成:缓冲池(buffer pool).重做日志缓冲池(redo log buffer)以及额外的内存池(additional memory pool ...
- MySQL学习笔记-数据库后台线程
数据库后台线程 默认情况下讲述的InnoDB存储引擎,以后不再重复声明.后台线程有7个--4个IO thread,1个master thread,1个锁监控线程,1个错误监控线程.IO thread的 ...
随机推荐
- 【Linux_Fedora_应用系列】_1_如何安装音乐播放器和mp3解码
因为安装环境的不同,Fedora在安装后会安装不同的软件包.通常在安装的时候有多种选择: 1.桌面环境: 适合个人日常使用,安装包含办公软件(Fedora 默认安装Open Office).娱乐影音软 ...
- 实用的Scala泛函编程
既然谈到实用编程,就应该不单止了解试试一个新的编程语言那么简单了,最好通过实际的开发项目实例来演示如何编程.心目中已经有了一些设想:想用Scala泛函编程搞一个开源的数据平台应用系统,也就是在云平台P ...
- PHP与MySQL的交互(mysqli)
近期在学习PHP,这里总结一下PHP与MySQL的交互. 这里我们使用mysqli进行连接. mysqli扩展允许我们访问MySQL 4.1及以上版本提供的功能. 想深入了解mysqli的信息可以访问 ...
- 不简单的SQL查询和排序语句
真不简单!! 一:使用select语句进行查询 语法: SELECT <列名> FROM <表名> [WHERE <查询条件表达式>] [OR ...
- jquery.sobox 经典版弹窗控件
sobox 是一款非常实用的,基于 jQuery 的弹窗控件.功能非常完整,而代码量又非常少(压缩完仅8k不到)的一款弹窗控件,如果你熟悉ext的弹窗控件,那么sobox的使用对你来说应该是愉悦而完全 ...
- jQuery Danmmu Player 弹幕视频
Danmmu Player是基于jQuery的弹幕视频插件.当在看视频的时候,同时发表自己的观点,这样很好的提高用户互动效果.其实也就是在视频界面上做一个滚动展示动画效果,这样的聊天互动视频效果我们叫 ...
- jQuery Wookmark Load 瀑布流布局实例演示
瀑布流布局非常适合大量图片的展示,一改过去裁剪图片尺寸统一的排版,每张图片都能完全展示,并错落有致,让人眼前一亮. 版本: jQuery v1.4.3+ jQuery Wookmark Load v1 ...
- js获取本机的外网/广域网ip地址
完整源代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www. ...
- MySQL索引类型 btree索引和hash索引的区别
来源一 Hash 索引结构的特殊性,其检索效率非常高,索引的检索可以一次定位,不像B-Tree 索引需要从根节点到枝节点,最后才能访问到页节点这样多次的IO访问,所以 Hash 索引的查询效率要远高于 ...
- [Android]在Adapter的getView方法中绑定OnClickListener比较好的方法
以下内容为原创,欢迎转载,转载请注明 来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/4146512.html 给ListView中每个item绑定点 ...