常用的mysql操作
总结一下常用的mysql操作,避免下次遇到类似情况重复地去百度。
方法不是唯一的,但记录一种可行的方法就可以了。
遇到新的问题再继续补充。
1.增加一个列
ALTER TABLE 表名 ADD COLUMN 字段名 字段类型 其他;
举例:ALTER TABLE student ADD COLUMN sex VARCHAR(256);
2.删除一个列:
ALTER TABLE 表名 DROP COLUMN 字段名;
举例:ALTER TABLE student DROP COLUMN sex;
3.修改列名
ALTER TABLE 表名 CHANGE 旧字段名 新字段名 字段类型;
举例:ALTER TABLE student CHANGE stuname name varchar(128);
4.修改列类型
同修改列名是一样的;
5.增加主键
ALTER TABLE 表名 ADD PRIMARY KEY(主键字段);
举例:ALTER TABLE student ADD PRIMARY KEY(id);
6.删除主键
ALTER TABLE 表名 DROP PRIMARY KEY;
举例:ALTER TABLE student DROP PRIMARY KEY;
CREATE TABLE class(
id INT PRIMARY KEY,
calssname varchar(256)
); CREATE TABLE student(
id int,
name varchar(256),
class int
); INSERT INTO class VALUES(2,'erban'); INSERT INTO student VALUES(1,'chxy',2); /*
sutdent 表中的class属性引用class表中的id属性
student是子表,class是父表
*/
7.增加外键
ALTER table 表名 ADD CONSTRAINT constraint_name FOREIGN KEY(外键字段) REFERENCES 父表(父表外键字段);
举例:ALTER table student add CONSTRAINT sutdent_class_fk FOREIGN KEY(class) REFERENCES class(id) ON DELETE CASCADE;
可能产生的错误有:1822 - Failed to add the foreign key constraint. Missing index for constraint 'sutdent_class_fk' in the referenced table 'class'
错误原因是:被引用的属性在父表中不是主键。在父表中将该属性设为主属性即可。
引用:
设置外键的时候需要注意以下几点:
(1)外键是用于两个表的数据之间建立连接,可以是一列或者多列,即一个表可以有一个或多个外键。
(2)这个表里面设置的外键必须是另外一个表的主键!
(3)外键可以不是这个表的主键,但必须和另外一个表的主键相对应(字段的类型和值必须一样)。
(4)带有主键的那张表称为父表,含外键的是子表,必须先删除外键约束才能删除父表
https://blog.csdn.net/Nurbiya_K/article/details/101560650
8.外键对更新和删除的限制:
当主表中对被引用的属性进行删除和更新时,规定从表中的引用属性如何变化。
on delete 规则
on update 规则
规则有以下三种:
set null 表示在外键表中将相应字段设置为null
set default 表示设置为默认值
cascade 表示级联操作,就是说,如果主键表中被参考字段更新,外键表中也更新,主键表中的记录被删除,外键表中也相应删除。
举例如下:
ALTER table student add CONSTRAINT sutdent_class_fk FOREIGN KEY(classid) REFERENCES class(id) ON DELETE CASCADE;
class表中的一条记录删除,也会导致student表中的一条记录被级联删除。
9.删除外键
ALTER TABLE 表名 DROP FOREIGN KEY 外键名;
举例:ALTER TABLE student drop FOREIGN KEY student_class_fk;
常用的mysql操作的更多相关文章
- 工作中常用的mysql操作
一.在一个数据库中定义的存储过程或者是函数在另一数据库的存储过程中引用 1.我首先在数据库player_db中构建了一个函数:p_exp_to_level BEGIN ; ; RETURN v_lev ...
- 常用MySQL操作(一)
第二十四次课 常用MySQL操作(一) 目录 一.设置更改root密码 二.连接mysql 三.mysql常用命令 四.mysql用户管理 五.常用sql语句 六.mysql数据库备份恢复 七.扩展 ...
- centos LAMP第四部分mysql操作 忘记root密码 skip-innodb 配置慢查询日志 mysql常用操作 mysql常用操作 mysql备份与恢复 第二十二节课
centos LAMP第四部分mysql操作 忘记root密码 skip-innodb 配置慢查询日志 mysql常用操作 mysql常用操作 mysql备份与恢复 第二十二节课 mysq ...
- (转载)常用的Mysql数据库操作语句大全
打开CMD,进入数据库命令:mysql -hlocalhost -uroot -p 退出数据库:exit 用户管理: 1.新建用户: >CREATE USER name IDENTIFIED B ...
- 常用MySQL操作
常用MySQL操作 更改MySQL数据库root的密码 将绝对路径加入环境变量并设置开机启动 # PATH=$PATH:/usr/local/mysql/bin # echo "PATH=$ ...
- 十二天 mysql操作
本节内容 数据库介绍 mysql 数据库安装使用 mysql管理 mysql 数据类型 常用mysql命令 创建数据库 外键 增删改查表 权限 事务 索引 python 操作mysql ORM sql ...
- python学习道路(day12note)(mysql操作,python链接mysql,redis)
1,针对mysql操作 SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass'); 设置密码 update user set password ...
- 项目中常用的MySQL 优化
本文我们来谈谈项目中常用的MySQL优化方法,共19条,具体如下: 一.EXPLAIN 做MySQL优化,我们要善用EXPLAIN查看SQL执行计划. 下面来个简单的示例,标注(1.2.3.4.5)我 ...
- 循序渐进学.Net Core Web Api开发系列【9】:常用的数据库操作
系列目录 循序渐进学.Net Core Web Api开发系列目录 本系列涉及到的源码下载地址:https://github.com/seabluescn/Blog_WebApi 一.概述 本篇描述一 ...
随机推荐
- 干货 | 京东云Kubernetes集群+Traefik实战
摘要 Traefik支持丰富的annotations配置,可配置众多出色的特性,例如:自动熔断.负载均衡策略.黑名单.白名单.所以Traefik对于微服务来说简直就是一神器. 利用Traefik,并结 ...
- 5.GIT使用问题
1.git命令显示总是像less 一样的效果问题 git config --global pager.branch false
- D10 基本数据类型(各种职业的技能分析) 主要为 int 和 str
在python中具有魔法的 职业 类型 召唤每种职业 在pychar 中 打出该职业的名称 按住Ctrl 光标在该职业名称上 点击就能看该职业的技能 1 数字 int a = " ...
- matlab初级
命令 ======== 系统命令 命令 功能 例 date 显示当前日期 ans = 20-Jul-2019 what 当前文件夹下的matlab文件 type 文件中的内容 type CV.m ...
- NFS 文件共享
备注:NFS 文件共享需设置两部分:服务端和客户端 一.服务端设置 1.1.查看nfs包是否安装,未安装则重新安装 [root@localhost ~]# rpm -qa|grep rpcbind r ...
- 吴裕雄--天生自然 PYTHON3开发学习:字符串
var1 = 'Hello World!' var2 = "Runoob" #!/usr/bin/python3 var1 = 'Hello World!' var2 = &quo ...
- 第一行代码新闻例子报错 Unable to start activity ComponentInfo 原因
E/AndroidRuntime: FATAL EXCEPTION: main Process: com.timemanager.jason.fragmentbestpractice, PID: 56 ...
- pycharm运行过程中,出现python已停止工作的对话框的解决办法
在Windows7的情况下,在运行中输入“Regedit”并执行,使用注册表编辑器. 依次定位到HKEY_CURRENT_USER\Software\Microsoft\Windows\Windows ...
- java 用condition&reentrylock实现生产者消费者
package com.lb; import java.util.ArrayList; import java.util.List; import java.util.concurrent.locks ...
- tensorflow deeplabv3 训练自己的数据集
https://blog.csdn.net/malvas/article/details/90776327