总结一下常用的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操作的更多相关文章

  1. 工作中常用的mysql操作

    一.在一个数据库中定义的存储过程或者是函数在另一数据库的存储过程中引用 1.我首先在数据库player_db中构建了一个函数:p_exp_to_level BEGIN ; ; RETURN v_lev ...

  2. 常用MySQL操作(一)

    第二十四次课 常用MySQL操作(一) 目录 一.设置更改root密码 二.连接mysql 三.mysql常用命令 四.mysql用户管理 五.常用sql语句 六.mysql数据库备份恢复 七.扩展 ...

  3. centos LAMP第四部分mysql操作 忘记root密码 skip-innodb 配置慢查询日志 mysql常用操作 mysql常用操作 mysql备份与恢复 第二十二节课

    centos  LAMP第四部分mysql操作  忘记root密码  skip-innodb 配置慢查询日志 mysql常用操作  mysql常用操作 mysql备份与恢复   第二十二节课 mysq ...

  4. (转载)常用的Mysql数据库操作语句大全

    打开CMD,进入数据库命令:mysql -hlocalhost -uroot -p 退出数据库:exit 用户管理: 1.新建用户: >CREATE USER name IDENTIFIED B ...

  5. 常用MySQL操作

    常用MySQL操作 更改MySQL数据库root的密码 将绝对路径加入环境变量并设置开机启动 # PATH=$PATH:/usr/local/mysql/bin # echo "PATH=$ ...

  6. 十二天 mysql操作

    本节内容 数据库介绍 mysql 数据库安装使用 mysql管理 mysql 数据类型 常用mysql命令 创建数据库 外键 增删改查表 权限 事务 索引 python 操作mysql ORM sql ...

  7. python学习道路(day12note)(mysql操作,python链接mysql,redis)

    1,针对mysql操作 SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass'); 设置密码 update user set password ...

  8. 项目中常用的MySQL 优化

    本文我们来谈谈项目中常用的MySQL优化方法,共19条,具体如下: 一.EXPLAIN 做MySQL优化,我们要善用EXPLAIN查看SQL执行计划. 下面来个简单的示例,标注(1.2.3.4.5)我 ...

  9. 循序渐进学.Net Core Web Api开发系列【9】:常用的数据库操作

    系列目录 循序渐进学.Net Core Web Api开发系列目录 本系列涉及到的源码下载地址:https://github.com/seabluescn/Blog_WebApi 一.概述 本篇描述一 ...

随机推荐

  1. Redhat7 开机启动服务

    #!/bin/sh ### BEGIN INIT INFO # Provides: jboss # Required-Start: $local_fs $remote_fs $network $sys ...

  2. render_template()的各种用法

    1.可以有很多个参数,第一个一定是模板的名字 2.可以传字典.列表.单个变量等等,还可以传函数,在模板中调用函数 后端函数: from flask import Flask from flask im ...

  3. 面试准备 css 书写顺序及原理

    书写顺序 (1)定位属性:position  display  float  left  top  right  bottom   overflow  clear   z-index (2)自身属性: ...

  4. 怎样在 Akka Persistence 中实现分页查询

    在 Akka Persistence 中,数据都缓存在服务内存(状态),后端存储的都是一些持久化的事件日志,没法使用类似 SQL 一样的 DSL 来进行分页查询.利用 Akka Streams 和 A ...

  5. [PHP防火墙]输入内容存在危险字符,安全起见,已被本站拦截

    之前在很多的网站都看到了360webscan的攻击拦截脚本,正好分析并学习一下. 下载地址:http ://webscan.360.cn/protect/down?domain = blog.dybo ...

  6. PAT Advanced 1059 Prime Factors (25) [素数表的建⽴]

    题目 Given any positive integer N, you are supposed to find all of its prime factors, and write them i ...

  7. Linux--Centos下搭建Git服务器

    参考:http://kimi.it/370.html   http://blog.csdn.net/wave_1102/article/details/47779401 开始直接用 yum insta ...

  8. InsertionSort(插入排序)原理及C++代码实现

    插入排序是最常用的排序之一. 在输入规模较小的时候,插入排序的性能较好. 最好情况下插入排序的时间复杂度是O(n),平均情况则为O(n2). 插入排序是稳定的排序算法之一. 基本思路为从第二个元素开始 ...

  9. Python语言学习:列表常用的方法

    python 列表常用的方法 1.append( ):用于在列表末尾添加新的对象 list.appent(obj) #obj:添加到列表末尾的对象 #!/usr/bin/python aList = ...

  10. MySQL修改最大连接数的两个方法,偏爱第一种

    总结MySQL修改最大连接数的两个方式   最大连接数是可以通过mysql进行修改的,mysql数据库修改最大连接数常用有两种方法,今天我们分析一下这两种方法之间的特点和区别,以便我们能更好的去维护m ...