mysql 表.t_mysql ---表的操作
创建表、查看表结构、修改表、删除表
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 ---表的操作相关推荐
- R操作MySQL数据库创建表、删除表、增删改查(CRUD)
R操作MySQL数据库创建表.删除表.增删改查(CRUD) 关系数据中的数据是按照一定范式去存储的.当我们需要非常高级和复杂的Sql查询就可以使用关系数据库的数据资产.不光java和python可以容 ...
- mysql的数据表操作
1.创建数据表 在创建数据表之前,要用use <数据库名>指定在哪个数据库中操作. 1.1创建表的语法格式 创建数据表语句为,其中[]中的表示可选 create table <表名& ...
- mysql分库分表实战及php代码操作完整实例
当单表达到几千万时,查询一次要很久,如果有联合查询,有可能会死在那 分库分表主要就是解决这个问题,减小数据库的负担,缩短查询时间 分库: 1)按功能分 用户类库.商品类库.订单类库.日志类.统计类库. ...
- MySql随笔part3 表操作
一:什么是表 表(table): 表似一种结构化的文件,可用来存储某种特定类型的数据.表中的一条记录有对应的标题,标题称之为表的字段 二:创建表 1 create table table_name( ...
- 7、mysql中的表结构操作
之前已经介绍了字段以及修饰字段的一些属性,根据特定的对象可以将字段进行组合,这就有了表的概念,接下来介绍一下如何操 作数据表结构.对数据表结构的操作有添加表.修改表.删除表.查看表结构. 添加表 格式 ...
- mysql怎么多表备份_学习MySQL多表操作和备份处理
[IT168 服务器学院]前面我们熟悉了数据库和数据库表的基本操作,现在我们再来看看如何操作多个表. 多表操作 在一个数据库中,可能存在多个表,这些表都是相互关联的.我们继续使用前面的例子.前面建立的 ...
- mysql修改级联表数据_MySQL数据库 外键,级联, 修改表的操作
1.外键: 用来建立两张表之间的关系 - 一对多 - 多对多 - 一对一 研究表与表之间的关系: 1.定义一张 员工部门表 id, name, gender, dep_name, dep_desc - ...
- mysql怎样查表的模式_mysql常用基础操作语法(四)--对数据的简单无条件查询及库和表查询【命令行模式】...
1.mysql简单的查询:select 字段1,字段2... from tablename; 如果字段那里写一个*,代表查询所有的字段,等同于指定出所有的字段名,因此如果要查询所有字段的数据,一般都是 ...
- mysql 分库分表 建表,mysql 分库分表 建表MySQL常用操作
通过命令行启动.停止MySQL服务器: start: net start mysql stop: net stop mysql 连接MySQL服务器:\>mysql -h127.0.0.1 -u ...
最新文章
- 一手好牌打的稀烂,如今面临倒计时,网友哭求众筹活下去...
- CSS3-transition,过渡实例
- mysql 备份配置文件_mySQL配置文件、备份与恢复
- freebsd linux目录,FreeBSD和Linux如何互相访问文件系统
- centos8 装docker 问题
- batchsize一定是2的幂_学习率和batchsize如何影响模型的性能?
- [Python] L1-001. Hello World-PAT团体程序设计天梯赛GPLT
- PAYPAL 支付,sandbox测试的时候遇到异常:请求被中止: 未能创建 SSL/TLS 安全通道,以及解决方法。
- 设备驱动简介 -- ldd3读书笔记
- 1.4. 为现有的应用程序添加 Core Data 支持(Core Data 应用程序实践指南)
- 多线程--thread
- 11、盛最多水的容器(python)
- 在Qt/Embedded 2.3.8中添加MX21Ads键盘处理
- 基于jsp+mysql+Spring+SpringMVC+mybatis的ssm学生网上请假系统
- 继电器和蜂鸣器的使用
- 用树莓派打拳皇游戏(运行 SWF 游戏文件)【Adobe Flash Player + Chromium】
- 亚洲杯:艾因月夜,里皮妙手导演逆转
- 使用IDEA+gradle构建spring5源码-手把手教程全图解
- 卷积神经网络数学建模,常见卷积神经网络模型
- Android组件化跨进程通信框架Andromeda解析