- 浏览: 2046387 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (795)
- java (263)
- 聚类搜索引擎 (9)
- 经验之谈 (67)
- DSP (3)
- C++ (140)
- Linux (37)
- SNMP (6)
- Python (6)
- 数据库 (61)
- 网络 (20)
- 算法 (15)
- 设计模式 (4)
- 笔试题 (38)
- 散文 (35)
- 数据结构 (9)
- 银行知识 (0)
- 榜样 (9)
- Lucene (15)
- Heritrix (6)
- MetaSeeker (0)
- netbeans (12)
- php (3)
- 英语 (8)
- DB2 (0)
- java基础 (5)
- mongodb & hadoop (4)
- Javascript (7)
- Spring (4)
- ibatis & myibatis (1)
- velocity (1)
- 微服务 (0)
- paddle (1)
- 第三方 (0)
- 知识沉淀 (1)
- 建模 (0)
最新评论
-
0372:
标示对java很陌生!
中文乱码解决的4种方式 -
梦留心痕:
Java中\是转意字符, 可是你的这句话我没看懂,只要把得到的 ...
java中如何忽略字符串中的转义字符--转载 -
yanjianpengit:
[b][/b]
java为什么非静态内部类里面不能有静态成员 -
springdata-jpa:
可以参考最新的文档:如何在eclipse jee中检出项目并转 ...
eclipse 如何把java项目转成web项目 -
qq1130127172:
,非常好。
(转)SpringMVC 基于注解的Controller @RequestMapping @RequestParam..
1.创建列
alter table tablename add colname type not null default '0';
例:
alter table mmanapp_mmanmedia add appid_id integer not null default 372;
2.删除列
alter table tablename drop column colname;
例:
alter table mmanapp_mmanmedia drop column appid_id;
3.在已经存在的列上创建外键关联
ALTER TABLE yourtablename ADD [CONSTRAINT symbol] FOREIGN KEY [id] (index_col_name, ...) REFERENCES tbl_name (index_col_name, ...) [ON DELETE {RESTRICT | CASCADE | SET NULL | NO ACTION}] [ON UPDATE {RESTRICT | CASCADE | SET NULL | NO ACTION}]
例:
ALTER TABLE mmanapp_mmanmedia ADD CONSTRAINT fk_mdappid FOREIGN KEY(appid_id)
4.删除外键关联:
ALTER TABLE yourtablename DROP FOREIGN KEY fk_symbol;
例:
ALTER TABLE mmanapp_mmanmedia DROP FOREIGN KEY fk_mdappid
附文档两份:
一.mysql对列和表的相关操作
增加主键
alter table tabelname add new_field_id int(5) unsigned default 0 not null auto_increment ,add primary key (new_field_id);
增加一个新列
alter table infos add ex tinyint not null default '0';
删除列
alter table t2 drop column c;
重命名列/改变列类型
alter table t1 change a b integer;
alter table t1 change b b bigint not null;
alter table infos change list list tinyint not null default '0';
重命名表
alter table t1 rename t2;
加索引
mysql> alter table tablename change depno depno int(5) not null;
mysql> alter table tablename add index 索引名 (字段名1[,字段名2 …]);
mysql> alter table tablename add index emp_name (name);
加主关键字的索引
mysql> alter table tablename add primary key(id);
加唯一限制条件的索引
mysql> alter table tablename add unique emp_name2(cardnumber);
删除某个索引
mysql>alter table tablename drop index emp_name;
二.对表增/删约束关系
InnoDB允许你用ALTER TABLE往一个表中添加一个新的 外键约束:
ALTER TABLE yourtablename
ADD [CONSTRAINT symbol] FOREIGN KEY [id] (index_col_name, ...)
REFERENCES tbl_name (index_col_name, ...)
[ON DELETE {RESTRICT | CASCADE | SET NULL | NO ACTION}]
[ON UPDATE {RESTRICT | CASCADE | SET NULL | NO ACTION}]
记住先创建需要的索引。你也可以用ALTER TABLE往一个表添加一个自引用外键约束。
InnoDB也支持使用ALTER TABLE来移除 外键:
ALTER TABLE yourtablename DROP FOREIGN KEY fk_symbol;
当年创建一个外键之时,如果FOREIGN KEY子句包括一个CONSTRAINT名字,你可以引用那个名字来移除 外键。另外,当外键被创建之时,fk_symbol值被InnoDB内部保证。当你想要移除一个外键之时,要找出标记,请使用SHOW CREATE TABLE语句。例子如下:
mysql> SHOW CREATE TABLE ibtest11c\G
*************************** 1. row ***************************
Table: ibtest11c
Create Table: CREATE TABLE `ibtest11c` (
`A` int(11) NOT NULL auto_increment,
`D` int(11) NOT NULL default '0',
`B` varchar(200) NOT NULL default '',
`C` varchar(175) default NULL,
PRIMARY KEY (`A`,`D`,`B`),
KEY `B` (`B`,`C`),
KEY `C` (`C`),
CONSTRAINT `0_38775` FOREIGN KEY (`A`, `D`)
REFERENCES `ibtest11a` (`A`, `D`)
ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT `0_38776` FOREIGN KEY (`B`, `C`)
REFERENCES `ibtest11a` (`B`, `C`)
ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=INNODB CHARSET=latin1
1 row in set (0.01 sec)
mysql> ALTER TABLE ibtest11c DROP FOREIGN KEY 0_38775;
InnoDB解析程序允许你在FOREIGN KEY ... REFERENCES ...子句中用`(backticks)把表和列名名字围起来。InnoDB解析程序也考虑到lower_case_table_names系统变量的设置。
InnoDB返回一个表的外键定义作为SHOW CREATE TABLE语句输出的一部分:
SHOW CREATE TABLE tbl_name;
从这个版本起,mysqldump也将表的正确定义生成到转储文件中,且并不忘记 外键。
你可以如下对一个表显示外键约束:
SHOW TABLE STATUS FROM db_name LIKE 'tbl_name';
外键约束被列在输出的Comment列。
当执行外键检查之时,InnoDB对它照看着的子或父记录设置共享的行级锁。InnoDB立即检查外键约束,检查不对事务提交延迟。
要使得对有外键关系的表重新载入转储文件变得更容易,mysqldump自动在转储输出中包括一个语句设置FOREIGN_KEY_CHECKS为0。这避免在转储被重新装载之时,与不得不被以特别顺序重新装载的表相关的问题。也可以手动设置这个变量:
mysql> SET FOREIGN_KEY_CHECKS = 0;
mysql> SOURCE dump_file_name;
mysql> SET FOREIGN_KEY_CHECKS = 1;
如果转储文件包含对外键是不正确顺序的表,这就以任何顺序导入该表。这样也加快导入操作。设置FOREIGN_KEY_CHECKS为0,对于在LOAD DATA和ALTER TABLE操作中忽略外键限制也是非常有用的。
InnoDB不允许你删除一个被FOREIGN KEY表约束 引用的表,除非你做设置SET FOREIGN_KEY_CHECKS=0。当你移除一个表的时候,在它的创建语句里定义的约束也被移除。
如果你重新创建一个被移除的表,它必须有一个遵从于也引用它的外键约束的定义。它必须有正确的列名和类型,并且如前所述,它必须对被 引用的键有索引。如果这些不被满足,MySQL返回错误号1005 并在错误信息字符串中指向errno 150。
发表评论
-
利用JDBC获取新插入记录id的三种方法
2016-11-12 20:26 1888在一对多的关联操作中,通常在一方插入记录后,需要获取到当前记 ... -
Selector 和 Paging
2015-10-10 11:19 1590import java.util.List; impo ... -
Hibernate Dao辅助类,提供Dao的基本操作
2015-10-10 10:50 3650import java.io.Serializable; ... -
批处理batch,执行多个SQL语句
2015-07-15 19:21 10609批处理batch,执行多个SQL语句。 ... -
Mysql字符集设置(转)
2015-05-08 20:00 1274最近,在项目组使用 ... -
MySQL的btree索引和hash索引的区别
2015-03-27 17:24 17486Hash 索引结构的特殊性,其检索效率非常高,索引的检索 ... -
关于MYSQL Innodb 锁行还是锁表
2015-03-18 10:08 1967关于mysql的锁行还是锁表,这个问题,今天算是有了一点头 ... -
XA分布式事务处理
2014-08-22 18:06 1653在谈到 XA 规范之前,必须首先了解分布式事务处理( Dis ... -
sql中in 与exists
2014-07-15 12:46 1381NOT IN SELECT DISTINCT MD001 ... -
hibernate的query.scroll()和query.setFirstResult(),query.setMaxResults();
2014-07-01 08:19 2020一、hibernate的query.scroll()和que ... -
长连接和短连接的区别
2014-06-25 16:46 3444短连接 连接->传输数据->关闭连接 HTTP是无 ... -
MySQL 读写分离
2014-06-24 15:20 0一 什么是读写分离 ... -
(转)mysql分表与分区表
2014-06-24 15:17 0一,什么是mysql分表,分区 什么是分表,从表面意思上看 ... -
MySQL表的分区
2014-06-24 15:08 0一、什么是表分区通俗地讲表分区是将一大表,根据条件分割成若 ... -
数据库表的拆分
2014-06-24 14:37 2653下面来分析一下: ... -
(转)聚集索引
2014-06-15 14:47 1081在上一篇文章中,我们已经介绍了非聚集索引相关的内容。在本篇 ... -
Google的神器
2014-05-28 21:31 11151 Chubby http://blog.csd ... -
LSM树--高效的存储
2014-05-10 09:11 3168转http://bofang.iteye.com/blog/ ... -
(转)一致性哈希算法
2014-05-08 21:58 1191转帖:http://mntms.iteye.com/blog ... -
Jedis使用
2014-05-08 21:33 1490目录 1 JEDIS简介 1 2 JEDIS简单使用 1 3 ...
相关推荐
### MySQL 增删改查语句详解 #### 一、插入操作(Insert) ##### 插入多行数据 在MySQL中,可以一次性地插入多行数据,这有助于提高...以上是关于MySQL中的增删改查操作的详细解释和示例,希望对初学者有所帮助。
### JAVA数据库基本操作:增删改查 在Java开发中,与数据库进行交互是一项非常重要的技能。无论是构建简单的Web应用还是复杂的企业级系统,开发者都需要掌握如何通过Java代码执行SQL命令来实现数据的增删改查操作。...
### MySQL数据库SQL语句增删改查笔记 #### 一、插入数据(Insert) ...以上是MySQL数据库SQL语句的基础增删改查操作及相关知识点介绍,通过这些基础命令的学习,可以帮助初学者更好地掌握数据库管理的基本技能。
在Java编程中,连接MySQL数据库并执行增删改查(CRUD)操作是常见的任务,尤其是在开发基于数据库的应用程序时。下面将详细讲解这个过程,包括如何建立数据库连接、创建数据库表以及执行基本的SQL操作。 首先,我们...
1. **增删改查**:这是任何数据管理系统的基础功能。增(Add)指的是添加新的新闻条目;删(Delete)是指移除不再需要的新闻;改(Update)是指修改已存在的新闻内容;查(Query)则是检索和展示新闻信息。 2. **...
在这个场景中,我们关注的是使用MySQL数据库,Java编程语言,以及MyEclipse IDE来实现前端JSP页面与后端Java服务的交互,完成“增删改查”(CRUD)操作。CRUD代表创建(Create)、读取(Retrieve)、更新(Update)和删除...
在C#中与MySQL数据库进行交互是常见的任务,主要用于实现数据的增删改查操作。以下将详细解释如何使用C#连接MySQL并执行这些基本操作。 首先,你需要一个连接字符串(connStr)来建立到MySQL数据库的连接。连接字符...
总结来说,Android中的SQLite数据库提供了方便的数据持久化机制,通过`SQLiteOpenHelper`和`SQLiteDatabase`,开发者可以轻松地实现对数据库的增删改查操作,满足应用程序对数据管理的需求。在实际项目中,还需要...
本篇文章将深入探讨MySQL的基础知识,包括其概述、基本操作以及常用的增删改查(CRUD)操作。 首先,MySQL是一个开源的SQL数据库,这意味着它的源代码是公开的,任何人都可以免费使用、修改和分发。它支持多种操作...
MySQL是世界上最受欢迎的关系型数据库管理系统之一,用于存储和管理数据。在SQL(Structured Query Language)的支持下,用户可以执行各种操作,如增(INSERT...不断练习和应用,你将真正实现对SQL增删改查的完美掌握。
本文将详细讲解如何使用Node.js的`mysql`模块来实现数据库的增删改查(CRUD)操作。 首先,要开始操作MySQL数据库,你需要先安装`mysql`模块。这可以通过Node.js的包管理器npm(Node Package Manager)来完成。在...
【数据库增删改查】是数据库操作的基本功能,主要用于管理数据库中的数据。在这个Java程序中,作者使用了JDBC(Java Database Connectivity)来实现对MySQL数据库的连接和操作。JDBC是Java语言中用来规范客户端程序...
表中的数据操作包括数据的增删改查。插入数据(INSERT INTO)可以通过指定字段名和值的方式,也可以将查询结果集插入到表中(INSERT INTO ... SELECT)。更新数据(UPDATE)操作用于修改表中已存在的数据,可以指定...
本资源"SQL增删改查源码"显然是一份包含有关SQL基本操作——增(Insert)、删(Delete)、改(Update)、查(Select)的编程代码示例。这些操作构成了数据库操作的基础,对于任何需要处理数据的软件开发人员来说,都...
在本项目"aaa.zip_mysql增改"中,我们聚焦于使用C++编程语言与MySQL数据库进行交互,以实现数据的增、删、查、改(CRUD)基本操作。这是一门结合了后端编程语言与关系型数据库管理系统的实践技术,对于开发涉及...
MySQL常用命令集锦--初级DBA ... MySQL权限控制包括 FILE、PROCESS、RELOAD、SHUTDOWN 等权限,以及数据库/数据表/数据列权限,如ALTER、CREATE、DELETE、DROP、INDEX、INSERT、SELECT、UPDATE 等权限。
MySQL触发器是数据库管理系统提供的一种机制,用于在特定的数据操作(如INSERT、UPDATE或DELETE)发生之前或之后自动执行预定义的SQL语句。触发器主要用于实现数据验证、业务规则的强制执行以及日志记录等功能,它...
以上就是MySQL数据库的基本操作,包括数据库和表的创建、删除,以及对数据的增、删、改、查。这些操作是数据库管理的基础,对于开发人员来说至关重要。了解并熟练掌握这些操作,能够帮助我们在实际项目中更高效地...
【标签】中列出的"php_增删改查"、"php增删改查"、"php增删查改",虽然存在重复,但都强调了这个项目涉及的PHP数据库操作技术。"php通讯录"则表明这个项目专注于创建一个管理个人或组织联系信息的应用。 【压缩包子...