栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

一口气看完MySQL--上篇

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

一口气看完MySQL--上篇

MySql
  • MySql中的数据类型
  • 注释
  • 数据库操作
  • 表的操作
    • 给表关联约束
      • 主键约束 primary key
        • 创建
        • 删除主键约束
      • 联合主键
        • 创建
        • 删除联合主键
      • 唯一约束 unique
        • 创建
        • 删除唯一约束
      • 自动增长列 auto_increment
        • 创建
        • 删除自动增长
      • 默认约束 default
        • 创建
        • 删除默认约束
      • 非空约束 not null
        • 创建
        • 删除非空约束
      • 外键约束 foreign key
        • 创建
        • 删除外键约束

MySql中的数据类型

1.数值

类型大小范围范围用途
TINYINT1字节-27~27 -10~2^8 -1小整数
SMALLINT2字节-215~215 -10~2^16 -1大整数
MEDIUMINT3字节-223~223 -10~2^24 -1大整数
INT4字节-231~231 -10~2^32 -1大整数
BIGINT8字节-263~263 -10~2^64 -1极大整数
FLOAT4字节单精度浮点数
DOUBLE8字节双精度浮点数
DECIMAL小数值

DECIMAL(总位数,小数位) FLOAT(总位数,小数位) DOUBLE(总位数,小数位)

​ 例如decimal(7,2),整数占五位,小数占两位

2.日期/时间

类型大小范围格式用途
DATE31000-01-01/9999-12-31YYYY-MM-DD日期值
TIME3‘-838:59:59’/‘838:59:59’HH–MM-SS时间值或持续时间
YEAR11901/2155YYYY年份
DataTime81000-01-01 00:00:00
9999-12-31 23:59:59
YYYY-MM-DD
HH:MM:SS
混合日期和时间值
TIMESTAMP81970-01-01 00:00:00/2037某时YYYYMMDDHHMMSS混合日期和时间值,时间戳

3.字符串(字符)类型

类型大小(字节)用途
CHAR0-255定长字符串
VARCHAR0-65535变长字符串
TINYBLOB0-255不超过255字符二进制字符串
TINYTEXT0-255短文本字符串
BLOB0-65535二进制长文本数据
TEXT0-65535长文本数据
MEDIUMBLOB0-16777215二进制形式中等长度文本数据
MEDIUMTEXT0-16777215中等长度文本数据
LONGBLOB0-4294967295二进制形式极大文本数据
LONBTEXT0-4294967295极大文本数据

区别

char(字符串长度) 定长        varchar(字符串长度) 变长

​ 设定多少长度,就会全部占满    以实际长度占用空间




注释
-- 单行注释内容





数据库操作
1.查看现有的数据库

show databases;


2.创建数据库

create databases 数据库名字;


3.删除数据库

drop database 数据库名字;




表的操作

在工具中,“打开表”–>看表内容
     “设计表”–>看表结构

0.选择数据库操作
	use 数据库名;

1.创建表
	create table 表名(
		属性名1 数据类型 [约束条件],
//		姓名 varchar(10) not null,
	属性名2 数据类型 [约束条件],
	属性名3 数据类型 [约束条件]
	);

2.删除表
	drop table 表名;

3.修改表
	3.1添加列
		alter table 表名 add 属性名 数据类型;
//		alter table 学生表 add 专业 carchar(10);
	
	3.2删除列
		alter table 表名 drop 属性名;
//		alter table 学生表 drop 成绩;

	3.3修改列的数据类型
		alter table 表名 modify 属性名 新数据类型;
//		alter table 学生表 modify 成绩 float(4,1);
	
	3.4修改列名
		alter table 表名 change 旧字段名 新字段名 数据类型;
//		alter table 学生表 change 姓名 学生名 数据类型;
	
4.显示表结构
	desc 表名;




给表关联约束

实体完整性约束

在一个表中,找到一个列,该列做到唯一区分效果

主键约束 primary key 创建

创建表的同时关联约束

//方式一
create table student(
	id int primary key,
	name varchar(5),
	age int
);

//方式二
create table student(
	id int,
	name varchar(5),
	age int,
	constraint 主键约束的名字(PK_列名)  primary key(id)
);

//方式三
create table student(
	id int,
	name varchar(5),
	age int,
	primary key(id)
);

修改表的同时关联约束

//方式一
alter table student add constraint 主键约束的名字 primary key(列名);

//方式二
alter table 表名 add primary key(列名);

//方式三
alter table 表名 modify 列名 数据类型 primary key;
删除主键约束
alter table 表名 drop primary key;




联合主键

联合主键 : 将两个列看成一个整体列

创建

创建表的同时添加联合主键

//方式一
create table student(
	id int,
	name varchar(5),
	age int,
	constraint 主键约束的名字(PK_列名)  primary key(id,name)
);

//方式二
create table student(
	学号 int,
	姓名 varchar(5),
	年龄 int,
	课程号 varchar(10),
	primary key(学号,课程号)
);

修改表的同时添加联合主键

//方式一
alter table 表名 add constraint 主键约束的名字 primary key(列名1,列名2);

//方式二
alter table 表名 add primary key(列名1,列名2);
删除联合主键

同删除主键

alter table 表名 drop primary key;




唯一约束 unique

保证是唯一的,不能重复,但是可以为空
一个表中可以有多个唯一约束
设置一个唯一约束会默认给一个索引
若没有给唯一约束起名,默认和列名一致

创建

创建表的同时关联约束

//方式一
create table student(
	学号 int unique,
	姓名 varchar(5),
	年龄 int,
	课程号 varchar(10) unique
);

//方式二
create table student(
	学号 int,
	姓名 varchar(5),
	年龄 int,
	课程号 varchar(10),
	constraint UN_学号 unique(学号),
	constraint UN_课程号 unique(课程号)
);

修改表的同时关联约束

alter table student add unique(学号);
删除唯一约束
alter table student drop index 学号(唯一约束的名字);
自动增长列 auto_increment 创建

创建表的同时关联约束

create table student(
	学号 int auto_increment,
	姓名 varchar(5),
	年龄 int,
	课程号 varchar(10) 
);

修改表的同时关联约束

alter table student modify 列名 数据类型 auto_increment;
删除自动增长
alter table student modify 列名 数据类型;




域完整性约束

默认约束 default 创建

创建表的同时关联约束

create table student(
	学号 int,
	姓名 varchar(5),
	-- 字符或者日期时间类型	需要加单引号
	性别 varchar(3) default '男',
	入学日期 datetime default '2020-01-01'
);

修改表的同时关联约束

alter table student modify 性别 varchar(3) default '男';
删除默认约束
alter table student modify	性别 varchar(3);




非空约束 not null 创建

创建表的同时关联约束

create table student(
	学号 int,
	姓名 varchar(5) not null,
	年龄 int,
	课程号 varchar(10)
);

修改表的同时关联约束

alter table student modify 姓名 varchar(5) not null;
删除非空约束
alter table sudent modify 姓名 varchar(5);




外键约束 foreign key

针对两个表,加强表与表之间联系
一张表中可以有多个外键约束
主表想要删除被从表引用的数据,会删除失败

外键约束建立在从表中,拿上从表中的某个列参照引用主表的某个列
要求主表必须要有主键约束或者唯一约束
参照引用的列可以不一致,但数据类型和内容必须保持一致

创建

创建表的同时关联约束

create table 主表(
	列名1 数据类型 primary key,
	列名2 数据类型
);

create table 从表(
	列名1 数据类型,
	列名2 数据类型,
	列名3 数据类型,
	constraint 外键约束的名字(FK_列名) foreign key(从表列名1) references (主表列名1)
);

修改表的同时关联约束

alter table 从表 add constraint 外键约束名 foreign key(从表列名) references (主表列名);
删除外键约束
alter table 从表 drop foreign key 外键约束名;
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/309321.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号