最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

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

来源:懂视网 责编:小采 时间:2020-11-09 21:01:06
文档

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

MySQL的增删查改语句用法示例总结: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 ta
推荐度:
导读MySQL的增删查改语句用法示例总结: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 ta

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。

您可能感兴趣的文章:

  • PHP+MYSQL实现用户的增删改查
  • MySQL中对于索引的基本增删查改操作总结
  • mysql增删改查基础语句
  • Mysql的增删改查语句简单实现
  • nodejs操作mysql实现增删改查的实例
  • 自写的利用PDO对mysql数据库增删改查操作类
  • Mysql表,列,库增删改查问题小结
  • PHP实现基于面向对象的mysqli扩展库增删改查操作工具类
  • 利用PHP访问MySql数据库的逻辑操作以及增删改查的实例讲解
  • MySQL语句整理及汇总介绍
  • mysql语句实现简单的增、删、改、查操作示例
  • 声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文档

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

    MySQL的增删查改语句用法示例总结: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 ta
    推荐度:
    标签: 修改 用法 数据库
    • 热门焦点

    最新推荐

    猜你喜欢

    热门推荐

    专题
    Top