MYSQL语句大全:数据库表中数据操作

2020-07-2817:42:47数据库教程Comments1,354 views字数 1801阅读模式
  • 创建表
  • 查看表结构
  • 查看表详细结构
  • 修改表名
  • 修改字段的数据类型
  • 修改字段名
  • 增加字段
  • 删除字段
    文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19903.html
              • 删除关联表
  • (1)删除表的外键约束
  • (2)删除没有被关联的普通表
  • (3)删除被其他表关联的父表

创建表:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19903.html

CREATE TABLE 表名 (属性名 数据类型 [完整性约束条件],
属性名 数据类型 [完整性约束条件],
属性名 数据类型 [完整性约束条件])

“完整性约束条件”是指指定某些字段的某些特殊约束条件。
在使用CREATE TABLE创建表时首先要使用USE语句选择数据库。比如有个example数据库,用USE EXAMPLE选择这个数据库。
表名不能用SQL的关键字,如create,update等,字母不区分大小写。
下面是一个创建表的例子:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19903.html

create table example(id int, name varchar(20), sex boolean);

上例创建了example表,有三个字段,id整型,name字符串型,sex布尔型。
完整性约束条件是对字段进行限制。如果不满足完整性约束条件,数据库系统将不执行用户的操作,保护了数据库中数据的完整性。
下面是完整性约束条件:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19903.html

  • PRIMARY KEY 标识该属性为该表的主键,可以唯一的标识对应的元组
  • FOREIGN KEY 标识该属性为该表的外键,是与之联系的某表的主键
  • NOT NULL 标识该属性不能为空
  • UNIQUE 标识该属性的值是唯一的
  • AUTO_INCREMENT 标识该属性的值自动增加
  • DEFAULT 为该属性设置默认值

查看表结构:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19903.html

describe 表名

describe可简写为desc。
describe语句可以查看表的基本的定义。包括字段名field,字段数据类型type,是否为空null,是否为主外键key,文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19903.html

默认值default和额外信息extra。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19903.html

查看表详细结构:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19903.html

show create table 表名
 
show create table 表名 \G

\G增强显示可查看性文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19903.html

show create table

语句可以查看表字段,各字段数据类型,完整性约束条件,标的存储引擎,字符编码等.文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19903.html

修改表名文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19903.html

alter table 旧表名 rename [to] 新表名;

修改字段的数据类型:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19903.html

alter table 表名 modify 属性名 数据类型;

修改字段名:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19903.html

alter table 表名 change 旧属性名 新属性名 新数据类型;

旧属性名参数指修改前的字段名,新属性名参数指修改后的字段名,如果不指定数据类型则数据类型不变。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19903.html

增加字段:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19903.html

alter table 表名 add 属性名1 数据类型 [完整性约束条件] [first] after 属性名2;

first可选项指此字段为表的第一个字段,after 属性名2指放在指定字段后面,默认最后一位。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19903.html

删除字段:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19903.html

alter table 表名 drop 属性名;

删除关联表:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19903.html

(1)删除表的外键约束:
文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19903.html

外键是一个特殊字段,其将某一个表与其父表建立关联关系。在创建表的时候,外键约束就已经设定好了。去掉他们之间的关联关系需要用到下面语句。
文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19903.html

alter table 表名 drop foreign key 外键别名;

外键别名参数指创建表时设置的外键代号。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19903.html

(2)删除没有被关联的普通表
文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19903.html

drop table 表名;

删除一个表时,表中的所有数据也会被删除。删除表时最好先将表中的数据备份一下。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19903.html

(3)删除被其他表关联的父表文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19903.html

当删除有关联关系的表时,用drop table example1 会报错,原因是有外键依赖于该表文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19903.html

例如创建了一个example4表依赖于example1表,example4表的外键stu_id依赖于example1表的主键。example1表时example4表的父表。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19903.html

如果要删除example4表,必须先去掉这种依赖关系。最简单的办法是先删除子表example4,然后删除父表example1。但这样可能会影响子表的其他数据。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19903.html

另一种方法是先删除子表的外键约束,然后删除父表。这种方法不会影响子表的其他数据,可以保证数据库的安全。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19903.html

比如,example4表的外键别名是d_fk,删除example4的外键约束文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19903.html

alter table example4 drop foreign key d_fk;

可以通过show create table example4 \G来查看是否已删除。
然后再执行文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19903.html

drop table example1;

执行成功则表示操作成功。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19903.html

  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/sjk/19903.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定