创建表、查看表结构、修改表、删除表

1. 创建表

创建表之前选定数据库:use testx;

create table table2(属性名 数据类型 [约束],

属性名 数据类型[约束]) ENGINE=XX AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

约束:

PRIMARY KEY              该属性/字段设为此表主键

FOREIGN KEY              该属性/字段为该表外键,即另一个表的主键

NOT NULL                     属性不能为空

UNIQUE                         属性值唯一

AUTO_INCREMENT     属性值自动增加

DEFAULT                       属性值为默认值

(1)设置主键

①设置单个字段为主键

create table table2( id INT PRIMARY KEY,

nameVARCHAR(20)

);

②设置多个字段为主键

create table table2( id1 int,

id2int,

nameVARCHAR(20),primary key(id1,id2)

);

通过多个主键组合确定唯一的记录

(2)设置外键

表A有一个字段是表B的主键,则B为父表,A为子表。

子表的外键关联的必须是父表的主键,且数据类型必须一致

创建了table2,有两个主键id1、id2,将这两个字段作为表table3的外键

create table table2( id1 int,

id2int,

nameVARCHAR(20),

addressvarchar(20),primary key(id1,id2)

);

create table table3( id int primary key,

id1int,

id2int,constraint ids foreign key(id1,id2) referencestable2(id1,id2)

);

(3)自动增加属性

该字段必须是主键的一部分,一个表只能有一个字段(必须是整数类型)使用 AUTO_INCREMENT 约束。

如果该字段增加到了其数据类型能表示的最大值,则继续插入数据会产生错误。

每插入一条数据,该字段为上条记录该字段值增1

create table table4( id int primary keyauto_increment,

namevarchar(20)

);

插入数据:

①该字段值填 null或0,则该字段值为上条记录该字段值加1

insert into table values(0,'a')insert into table values(0,'b')insert into table values(0,'c')

②该字段插入非0数,则该字段值就是插入的值

insert into table values(5,'a')insert into table values(0,'d')

③插入数据时,不指定该字段

insert into table(name) values('xx')

(4)设置字段默认值

属性名  数据类型 DEFAULT 默认值

2.  查看表结构

(1)DESC 表名

DESCtable4;

DESCRIBE table4;

(2)查看表详细结构

查看字段名、数据类型、约束、存储引擎、字符编码

SHOW CREATE TABLE table4;

3. 修改表

(1)修改表名

ALTER TABLE 旧表名 RENAME 新表名;

(2)修改数据类型

整型、浮点、字符串、二进制、日期时间类型

数据类型决定了数据的存储格式、约束、有效范围

ALTER TABLE 表名 MODIFY 属性名 数据类型;

(3)修改字段名

ALTER TABLE 表名 CHANGE 旧属性名 新属性名 数据类型;

可修改字段名的同时修改数据类型

(4)增加字段

ALTER TABLE 表名 ADD 属性1 数据类型 [约束] [FIRST | AFTER 属性2];

(5)删除字段

ALTER TABLE 表名 DROP 属性名;

(6)修改字段的位置

ALTER TABLE 表名 MODIFY 属性名1 数据类型 FIRST | AFTER 属性名2;

(7)修改存储引擎

ALTER TABLE 表名 ENGINE=存取引擎名;

(8)删除表的外键约束(当然是对子表操作)

ALTER TABLE 表明 DROP FOREIGN KEY 外键别名;

4. 删除表

(1)删除没有被关联的普通表

DROP TABLE 表名;

(2)删除被其它表关联的父表

在1的(2)建立了两个表,table2为父表,table3为子表

尝试删除父表:DROP TABLE table2;

查看子表结构:子表table3通过外键 ids与父表table2建立关联

要删除父表table2,则需要先删除子表table3中的外键约束:3的(8)

ALTER TABLE table3 DROP FOREIGN KEY ids;

mysql 表.t_mysql ---表的操作相关推荐

  1. R操作MySQL数据库创建表、删除表、增删改查(CRUD)

    R操作MySQL数据库创建表.删除表.增删改查(CRUD) 关系数据中的数据是按照一定范式去存储的.当我们需要非常高级和复杂的Sql查询就可以使用关系数据库的数据资产.不光java和python可以容 ...

  2. mysql的数据表操作

    1.创建数据表 在创建数据表之前,要用use <数据库名>指定在哪个数据库中操作. 1.1创建表的语法格式 创建数据表语句为,其中[]中的表示可选 create table <表名& ...

  3. mysql分库分表实战及php代码操作完整实例

    当单表达到几千万时,查询一次要很久,如果有联合查询,有可能会死在那 分库分表主要就是解决这个问题,减小数据库的负担,缩短查询时间 分库: 1)按功能分 用户类库.商品类库.订单类库.日志类.统计类库. ...

  4. MySql随笔part3 表操作

    一:什么是表 表(table): 表似一种结构化的文件,可用来存储某种特定类型的数据.表中的一条记录有对应的标题,标题称之为表的字段 二:创建表 1 create table table_name( ...

  5. 7、mysql中的表结构操作

    之前已经介绍了字段以及修饰字段的一些属性,根据特定的对象可以将字段进行组合,这就有了表的概念,接下来介绍一下如何操 作数据表结构.对数据表结构的操作有添加表.修改表.删除表.查看表结构. 添加表 格式 ...

  6. mysql怎么多表备份_学习MySQL多表操作和备份处理

    [IT168 服务器学院]前面我们熟悉了数据库和数据库表的基本操作,现在我们再来看看如何操作多个表. 多表操作 在一个数据库中,可能存在多个表,这些表都是相互关联的.我们继续使用前面的例子.前面建立的 ...

  7. mysql修改级联表数据_MySQL数据库 外键,级联, 修改表的操作

    1.外键: 用来建立两张表之间的关系 - 一对多 - 多对多 - 一对一 研究表与表之间的关系: 1.定义一张 员工部门表 id, name, gender, dep_name, dep_desc - ...

  8. mysql怎样查表的模式_mysql常用基础操作语法(四)--对数据的简单无条件查询及库和表查询【命令行模式】...

    1.mysql简单的查询:select 字段1,字段2... from tablename; 如果字段那里写一个*,代表查询所有的字段,等同于指定出所有的字段名,因此如果要查询所有字段的数据,一般都是 ...

  9. mysql 分库分表 建表,mysql 分库分表 建表MySQL常用操作

    通过命令行启动.停止MySQL服务器: start: net start mysql stop: net stop mysql 连接MySQL服务器:\>mysql -h127.0.0.1 -u ...

最新文章

  1. 一手好牌打的稀烂,如今面临倒计时,网友哭求众筹活下去...
  2. CSS3-transition,过渡实例
  3. mysql 备份配置文件_mySQL配置文件、备份与恢复
  4. freebsd linux目录,FreeBSD和Linux如何互相访问文件系统
  5. centos8 装docker 问题
  6. batchsize一定是2的幂_学习率和batchsize如何影响模型的性能?
  7. [Python] L1-001. Hello World-PAT团体程序设计天梯赛GPLT
  8. PAYPAL 支付,sandbox测试的时候遇到异常:请求被中止: 未能创建 SSL/TLS 安全通道,以及解决方法。
  9. 设备驱动简介 -- ldd3读书笔记
  10. 1.4. 为现有的应用程序添加 Core Data 支持(Core Data 应用程序实践指南)
  11. 多线程--thread
  12. 11、盛最多水的容器(python)
  13. 在Qt/Embedded 2.3.8中添加MX21Ads键盘处理
  14. 基于jsp+mysql+Spring+SpringMVC+mybatis的ssm学生网上请假系统
  15. 继电器和蜂鸣器的使用
  16. 用树莓派打拳皇游戏(运行 SWF 游戏文件)【Adobe Flash Player + Chromium】
  17. 亚洲杯:艾因月夜,里皮妙手导演逆转
  18. 使用IDEA+gradle构建spring5源码-手把手教程全图解
  19. 卷积神经网络数学建模,常见卷积神经网络模型
  20. Android组件化跨进程通信框架Andromeda解析

热门文章

  1. 深圳南山区法院受理11人集体诉腾讯案
  2. 暴雪BN2.0 呼之欲出即将到来
  3. 女生最想让男生知道的58件事[[急转]]
  4. 前端码农的焦虑与救赎
  5. 向三姑六婶解释你在一线城市的工作
  6. 一个程序员的逗逼瞬间(二)
  7. SSD(based on Caffe)环境配置
  8. STAR直接就可以输出readsCount,为什么还需要featurecounts?
  9. 【NGS接龙】薛宇:漫谈生物信息圈儿的那些年、那些事!
  10. 如何在 Mac 上切换语言