首页 > 数据库 >MySQL数据库-数据表

MySQL数据库-数据表

时间:2022-09-25 19:46:45浏览次数:51  
标签:数据库 reader 外键 id 数据表 book MySQL 约束 主键

 

 数据表的基本操作.

MySQL 数据库支持多种数据类型,大致可以分为 3 类:数值类型、日期和时间类型、字符串(字符)类型。

(1)数值类型

数值类型用于存储数字型数据,这些类型包括整数类型(TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT),浮点数类型(FLOAT、DOUBLE)和定点数类型(DECIMAL)。

(2)日期和时间类型

用于存储日期和时间的数据类型:

l  YEAR:用于存储年份的值,存储格式为YYYY;

l  DATE:用于存储日期部分,但没有时间,存储格式为YYYY-MM-DD;

l  TIME:用于存储时间部分,但没有日期,存储格式为HH:MM:SS;

l  DATETIME:用于存储同时具有日期和时间的值,存储格式为YYYY-MM-DD HH:MM:SS;

l  TIMESTAMP:与DATETIME类型相似,用于存储同时具有日期和时间的值,但存储范围较小。

(3)字符串类型

MySQL支持的字符串数据类型包括 CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM和SET等。

各类型占用字节和存储范围不同,常用的是CHAR、VARCHAR这两种类型,都是用于存储较短的字符串;区别是CHAR类型的长度是固定的,VARCHAR类型的长度是可变的。

 

 

 

完整性约束

完整性约束用于确定关系型数据库中数据的准确性和一致性。

(1)主健约束

主键是表中一个或多个用于实现记录唯一性的字段。虽然主键通常是由一个字段构成的,但是也可以由多个字段组成。

设置主键约束的关键字为PRIMARY KEY

使用SQL语句可以在定义字段时设置主键约束,也可以在定义好表中所有字段后再设置主键约束.

(2)唯一性约束

唯一性约束要求表中某个字段的值在每条记录中都是唯一的,这一点与主键类似。即使我们对一个字段设置了主键约束,也可以对另一个字段设置唯一性约束,尽量使它不会被当作主键使用。

唯一性约束也有两种设置方法,一种是在定义字段时设置,还有一种是定义好表中所有字段后再设置.

CREATE TABLE goods( name VARCHAR(30) UNIQUE, ); 唯一性约束 UNIQUE KEY(col_name) 第二种

(3)外键约束

外键是子表中的一个字段,用于引用父表中的主键。外键约束是确保表与表之间引用完整性的主要机制。一个被定义为外键的字段用于引用另一个表中的主键。

(4)NOT NULL 约束

设置非空约束的关键字为 NOT NULL,作用是规定字段的值不能为空,用户在向数据表中插入数据时,如果设置非空约束的字段没有指定值,系统就会报错。

(5) 自增约束

设置自增约束的关键字为 AUTO_INCREMENT,语法形式如下:

col_name data_type AUTO_INCREMENT

 

FOREIGN KEY(book_id)REFERENCES book_sort(sort_id)

FOREIGN KEY(book_id)REFERENCES book(book_id),

FOREIGN KEY(reader_id)REFERENCES reader(reader_id)

主键与外键-关联性设置

数据表命名应遵循以下原则:

  • 长度最好不超过30个字符;
  • 多个单词之间使用下划线“_”分隔,不允许有空格;
  • 不允许为mysql关键字;
  • 不允许与同一数据库中的其它数据表同名。

 

 

 

 

 

 在MySQL数据库中使用ALTER TABLE语句修改数据表。常用的修改数据表的操作有修改表名、修改字段数据类型或字段名、增加和删除字段、修改字段的排列位置、更改表的存储引擎、删除表的外键约束等。

常见添加字段的操作一般分为三种情况:在表的最后一列,在表的第一列或者在指定列之后添加。

 

 

 ALTER TABLE reader

最后一列 关键字 ADD

ADD remark varchar(30);

DESC reader;

 

ALTER TABLE reader

第一列 关键字 ADD-FIRST

ADD remark1 varchar(20) FIRST;

DESC reader;

 

ALTER TABLE reader DROP remark1;

删除字段(每一列)

 

MODIFY sort_name varchar(8);

修改数据类型

关键字 MODIFY

 

RENAME COLUMN return_date TO borrow_date;

修改字段名

关键字 RENAME COLUMN TO

 

外键处理

如果想要删除book表的外键,就需要删除外键标识。因此,需要先查看book表的外键标识,再删除外键。

 

SHOW CREATE TABLE book;查看外键标识

ALTER TABLE book

DROP FOREIGN KEY book_ibfk_1;

 

添加外键

ALTER TABLE return_record

ADD FOREIGN KEY(book_id) REFERENCES book(book_id),

ADD FOREIGN KEY(reader_id) REFERENCES reader(reader_id);

给return_record表的book_id和reader_id字段添加外键。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

设置主键约束的关键字为PRIMARY KEY

标签:数据库,reader,外键,id,数据表,book,MySQL,约束,主键
From: https://www.cnblogs.com/566adsasdw55/p/HUIZHOU.html

相关文章

  • MySQL半同步复制的实现和复制过滤器
    异步:当客户端发送给服务端请求时,在等待服务端响应的时候,客户端可以做其他的事情,这样节约了时间,提高了效率。同步:当客户端发送请求给服务端,在等待服务端响应的请求时,客户......
  • 老杜MySQL/days.05(事务)
    1.事务(一个完整的业务逻辑,最小的工作单元)a.事务中的语句要么全部成功,要么全部失败;b.只有DML语句才有事务的说法,即insert、delete、update;c.事务怎么做......
  • mysql分组后选出最大值所在的那一行数据
    背景mysql中使用groupby进行分组后取某一列的最大值,我们可以直接使用MAX()函数来实现,但是如果我们要取最大值所在的那一行或多行(可能有多行对应的最大值都一样)那么我们需......
  • MySQL数据库安装保姆级教程及1045错误和2058问题解决
    使用Mysql的zip压缩包解压版,下载之后需进行一定的配置,才能使用它。下面对Mysql压缩包版的安装方法进行详细的描述,如有疑问或错误,望及时反馈。首先,mysql的官方下载地址......
  • 【博学谷学习记录】超强总结,用心分享|Java基础分享-MySQL 有哪些锁
    目录1.全局锁2.表级锁2.1表锁2.2元数据锁2.3意向锁2.4AUTO-INC锁3.行级锁 1.全局锁全局锁是怎么用的?要使用全局锁,则要执行这条命:flushtableswithread......
  • 老杜MySQL/days.04(约束)
    1.快速创建表(不常用):create table 表名 as select * from 表名;或 create table 表名 as select 字段1,字段2,...from 表名 where 筛选条件;......
  • mysql进阶
    1表的设计     一对一比如一个学生有一个账户,一个账户也只能被一个学生注册一对多可以创建两个表,一个学生表一个班级表  多对多  1号学生选......
  • 老杜MySQL/days.03
    1.数据类型(varchar,char,int,bigint,float,double,date,datetime,clob,blob)varchar:可变长度字符串;存储数据的时候判断字符长度进行空间分配,速度慢;char:固定长度,速度快,容易......
  • 老杜MySQL/days.02
    1.distinct只能出现在所有字段的前方,但是可以结合分组函数使用;2.笛卡尔积:两张表的连接查询不加限制,就会出现;(最终数据条数=两表记录条数的乘积)注:加了限制后,匹配......
  • MySql
    关系型数据库:二维表,都是表结构易于查询,数据存在磁盘中安全,使用通用的SQL语言方便注释--这里有一个空格 或者#DDL:操作数据库,表   数据库操作:showdatabas......