• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >Mysql > MySQL的增删查改语句用法示例总结

MySQL的增删查改语句用法示例总结

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了mysql示例数据库,mysql示例,mysql示例数据库下载,mysql增删查改语句,switch case语句示例等相关知识,希望本文的分享对您有所帮助

1.创建列
    

alter table tablename add colname type not null default '0′;
</div>

    例:

  alter table mmanapp_mmanmedia add appid_id integer not null default 372;
</div>

2.删除列

  alter table tablename drop column colname;
</div>

    例:

  alter table mmanapp_mmanmedia drop column appid_id;
</div>

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}]
</div>

    例:
   

ALTER TABLE mmanapp_mmanmedia ADD CONSTRAINT fk_mdappid FOREIGN KEY(appid_id)
</div>

4.删除外键关联:

  ALTER TABLE yourtablename DROP FOREIGN KEY fk_symbol;
</div>

    例:
   

 ALTER TABLE mmanapp_mmanmedia DROP FOREIGN KEY fk_mdappid
</div>

附文档两份:
一.mysql对列和表的相关操作

增加主键

alter table tabelname add new_field_id int(5) unsigned default 0 not null auto_increment ,add primary key (new_field_id);
</div>

增加一个新列

alter table infos add ex tinyint not null default '0′;
</div>

删除列

alter table t2 drop column c;
</div>

重命名列/改变列类型

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′;
</div>

重命名表

alter table t1 rename t2;
</div>

加索引

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);
</div>

加主关键字的索引

mysql> alter table tablename add primary key(id);
</div>

加唯一限制条件的索引

mysql> alter table tablename add unique emp_name2(cardnumber);
</div>

删除某个索引

mysql>alter table tablename drop index emp_name;
</div>

二.对表增/删约束关系

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}]
</div>

记住先创建需要的索引。你也可以用ALTER TABLE往一个表添加一个自引用外键约束。
InnoDB也支持使用ALTER TABLE来移除 外键:

ALTER TABLE yourtablename DROP FOREIGN KEY fk_symbol;
</div>

当年创建一个外键之时,如果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;
</div>

InnoDB解析程序允许你在FOREIGN KEY … REFERENCES …子句中用`(backticks)把表和列名名字围起来。InnoDB解析程序也考虑到lower_case_table_names系统变量的设置。
InnoDB返回一个表的外键定义作为SHOW CREATE TABLE语句输出的一部分:

SHOW CREATE TABLE tbl_name;
</div>

从这个版本起,mysqldump也将表的正确定义生成到转储文件中,且并不忘记 外键。
你可以如下对一个表显示外键约束:

SHOW TABLE STATUS FROM db_name LIKE ‘tbl_name';
</div>

外键约束被列在输出的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;
</div>

如果转储文件包含对外键是不正确顺序的表,这就以任何顺序导入该表。这样也加快导入操作。设置FOREIGN_KEY_CHECKS为0,对于在LOAD DATA和ALTER TABLE操作中忽略外键限制也是非常有用的。
InnoDB不允许你删除一个被FOREIGN KEY表约束 引用的表,除非你做设置SET FOREIGN_KEY_CHECKS=0。当你移除一个表的时候,在它的创建语句里定义的约束也被移除。
如果你重新创建一个被移除的表,它必须有一个遵从于也引用它的外键约束的定义。它必须有正确的列名和类型,并且如前所述,它必须对被 引用的键有索引。如果这些不被满足,MySQL返回错误号1005 并在错误信息字符串中指向errno 150。

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • PHP之Mysql常用SQL语句示例的深入分析
  • MySql存储过程异常处理示例代码分享
  • 选择MySQL数据库进行连接的简单示例
  • MySQL的增删查改语句用法示例总结
  • mysql 存储过程输入输出参数示例
  • Mysql存储过程循环内嵌套使用游标示例代码
  • MySql的事务使用与示例详解
  • MySQL存储过程相互调用并获得错误码示例
  • mysql 跨表查询、更新、删除示例
  • mysql跨数据库复制表(在同一IP地址中)示例

相关文章

  • 2017-05-11mysql服务启动不了解决方案
  • 2018-12-05mysql5.5 master-slave(Replication)配置方法
  • 2018-12-05让数据库变快的建议
  • 2017-05-11mysql unsigned 用法及相减出现补数溢出解决方法
  • 2018-12-05sql 自定义百分比转换小数函数代码
  • 2018-12-05MySQL中show命令方法得到表列及整个库的详细信息(精品珍藏)
  • 2017-05-11MySQL数据库表修复 MyISAM
  • 2018-12-05oracle用什么SQL语句判断表存不存在
  • 2018-12-05SQLserver安装时要求CDKEY的解决办法
  • 2018-12-05远程MySQL数据库无法访问设置

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • MySQL全文索引应用简明教程
    • 用Jena将本体文件存入MySQL数据库的实现方法
    • mysql 列类型
    • 磁盘已满造成的mysql启动失败问题分享
    • MySQL中基本语法与语句详解
    • MySQL基本命令
    • Mysql5.7快速修改root密码方法
    • MySql批量插入来实现优化Sql执行效率的实例代码
    • MyEclipse连接MySQL数据库图文教程_MySQL
    • Mysql 数据库双机热备的配置方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有