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的 ...
随机推荐
- oracle分组查询实例ORA-00979和ORA-00937错误分析
select J.ZWJGH,J.CZZXBH,J.JZZT,J.CWNY,J.JZPZH sum(J.FSE)<!-- 聚合函数字段没在分组条件中--> from JZPZXX J &l ...
- android FragmentActivity+FragmentTabHost+Fragment框架布局
这周比较闲,计划系统的学习一下android开发,我本是一名IOS程序员,对手机开发还是有自己的一套思路的, 固这套思路用到我当前学android上了,先选择从Main页面的tabbar部分代码入手, ...
- 高效 Java Web 开发框架 JessMA v3.3.1 Beta-1 发布
JessMA(原名:Portal-Basic)是一套功能完备的高性能 Full-Stack Web 应用开发框架,内置可扩展的 MVC Web 基础架构和 DAO 数据库访问组件(内部已提供了 Hib ...
- GJM : 基于Actor模式的c#网络游戏服务器的实现和Unity游戏客户端的连接 [转载]
感谢您的阅读.喜欢的.有用的就请大哥大嫂们高抬贵手"推荐一下"吧!你的精神支持是博主强大的写作动力以及转载收藏动力.欢迎转载! 版权声明:本文原创发表于 [请点击连接前往] ,未经 ...
- ENVI数据显示操作【Tools菜单操作1】
---恢复内容开始--- 一.Tools菜单命令及其功能 主图像窗口中Tool菜单多对应的下拉菜单共17项命令. 二.窗口链接/覆盖显示 窗口链接和叠加显示(Link和Overlay)是对多幅图像某一 ...
- jQuery cxDialog 对话框
cxDialog 是基于 jQuery 的对话框插件,支持自定义外观样式,同时兼容 Zepto,方便在移动端使用. 版本: jQuery v1.7+ | Zepto v1.0+ jQuery cxDi ...
- Type.js – 帮助你更好的控制网页字体排版
Type.js 是一款很好的网页字体排版工具.它可以让你使用新的 CSS 属性,在网页上试下更精细的排版控制.设置很简单.上传 type.js 到您的网站,并在你的 HTML 链接中引用.接下来,你就 ...
- 通过gulp为requireJs引入的模块添加版本号
由于项目用到requireJs,并且通过gulp来对项目进行统一的管理,为了防止浏览器对文件进行缓存,所以通过gulp为项目中的文件添加版本号. 1.分别安装gulp-rev.gulp-rev-col ...
- 导入CSV格式的数据
导入CSV格式的数据 (参见http://dev.mysql.com/doc/refman/5.6/en/load-data.html) 1.数据库表(st_pptn_r) CREATE TABLE ...
- Snort - 配置文件
Snort.conf 版本 2.9.8.3 编译可用选项: --enable-gre --enable-mpls --enable-targetbased --enable-ppm --enable- ...