MySQL入门学习--数据表的基本操作

创建数据表

创建数据表,就是在已经创建好的数据库中建立新表。创建数据表的过程是规定数据列属性的过程,同时也是实施数据完整性约束的过程。

创建表的语法形式

在创建数据表之前,用use <数据库名>指定操作的数据库,如果没有选择确定的数据库,会显“No database selected”的error信息。
创建数据表的语句是create table;语法规则如下:
CREATE TABLE <表名>
(
字段名1,数据类型 [列级别约束条件] [默认值],
字段名2,数据类型 [列级别约束条件] [默认值],

[表级别约束条件]
);

创建表时,必须指定

表名,不区分大小写,不能使用sql的关键字;
数据表中的每一列(字段)的名称和数据类型,多个列用,隔开;

示例:

在这里插入图片描述
在这里插入图片描述

使用主键约束

主键(主码),是表中一列或多列的集合。主键约束要求主键列的数据唯一,且不为空。主键和记录之间是一一对应的关系。

单字段主键

单字段主键由一个字段组成。

在定义列时同时指定主键
create table tb_emp3
(
id int(11) PRIMARY KEY ,
name varchar(25),
deptId int (11),
salary float
);
在这里插入图片描述
在定义完所有列之后指定主键
create table tb_emp3
(
id int(11) ,
name varchar(25),
deptId int (11),
salary float,
PRIMARY KEY(id)
);
在这里插入图片描述
多个字段联合主键
create table tb_emp4
(
name varchar(25),
deptId int (11),
salary float,
PRIMARY KEY (name,deptId)
);

使用外键约束

外键用来在两个表的数据之间建立链接。他可以是一列或多列。一个表可以有一个或多个外键。
主表:对于两个具有关联关系的表而言,相关联字段主键所在的表
从表:外键所在的表
创建外键规则:
CONSTRAINT <外键约束名> FOREIGN KEY (外键列) REFERENCES <主表名>(主键列)

创建一个部门表tb_dept1:
在这里插入图片描述
id是部门编号,name是部门名称,location是部门位置
再定义一个数据表tb_emp5,让他的键作为外键关联到tb_dept1的主键id
在这里插入图片描述
以上语句执行后,在表tb_emp5上添加了名为fk_emp_dept1的外键约束,外键名称为deptId,它依赖于tb_dept1的主键id。

使用非空约束

非空约束指字段的值不能为空。对于使用非空约束的字段 ,用户在添加数据时没有指定值,数据库系统会报错。
字段名 数据类型 not null

使用唯一性约束

unique constraint
在定义完一列之后指定约束-----〉 字段名 数据类型 UNIQUE
在定义完所有列之后指定约束—〉CONSTRAINT STH UNIQUE(字段名)
UNIQUE与PRIMARY KEY的区别:
一个表中可以有多个字段声明为UNIQUE,但只有一个主键,且声明主键的列不能有空值,而unique可以为空。

使用默认约束

default constraint默认约束,指定某列的默认值。
语法规则:
字段名 数据类型 DEFAULT 默认值

查看数据表结构

查看表的基本结构语句

describe 表名
desc 表名

查看表的详细结构语句

show create table\G
可以显示创建表示的create table语句

修改数据表

修改表名
alter table <旧表名> rename [to] <新表名>
修改字段的数据类型
alter table <表名> modify <字段名> <数据类型>
修改字段名
alter table <表名> change <旧字段> <新字段> <新数据类型>
添加字段
alter table <表名> add <新字段> <数据类型>

删除字段

alter table <表名> drop <字段名>

修改字段的排列位置

alter table <表名> modify <字段1> <数据类型> first | after <字段2>

更改表的存储引擎

alter table <表名> engine=<更改后的存储引擎名>
修改完后使用show create table 数据表名 \G查看引擎是否修改成功

删除表的外键约束

alter table <表名> drop foreign key <外键约束名>

删除数据表

删除没有被关联的表

drop table [if exists] 表1,表2,…表n

删除被其他表关联的主表

先删除外键约束
alter table <表名> drop foreign key <外键约束>
再删除主表
drop table 数据表名

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值