MySQL学习记录 - 数据库表的相关操作

MySQL学习记录 - 数据库表的相关操作


一、SQL语句注意事项

1. SQL语句不区分大小写,但字符串区分大小写。

例如:SELECT "HelloWorld";

2. SQL语句的注释有两种,分别如下:

		例如:#这是一段注释
	    	 /*这是另一段注释文字*/

二、创建逻辑库

1. 使用 show databases查询逻辑空间

	例如:SHOW DATABASES;

2. 使用create database创建数据库

	例如:CREATE DATABASE student;

3. 使用drop database student删除数据库

	例如:DROP DATABASE demo;

4. 使用create table 表名称(列名1 数据类型 [约束] [comment 注释])[comment = "注释"]删除数据库

	例如:CREATE TABLE student(
				id INT UNSIGNED PRIMARY KEY,
				name VARCHAR(20) NOT NULL,
				sex CHAR(1) NOT NULL,
				birthday DATE NOT NULL,
				tel CHAR(11) NOT NULL,
				remark VARCHAR(200)
			);

5. 使用```insert into 表名称 values(“”,“”,“”,“”)``在某一张表中插入一条数据

	例如:INSERT INTO student VALUES(1,"李强","男","1998-02-05","15244444444","李强是个好人!!!");

6. 使用show tables显示某个数据库中的表

	例如:SHOW TABLES;

7. 使用desc student显示student数据表中的表结构

	例如:DESC student;

8. 使用show create table student显示创建student表的SQL语句

	例如:SHOW CREATE TABLE student;

9. 使用drop table student删除student表

	例如:DROP TABLE student;

三、数据类型

1. 数据类型:数字

	例如:TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT、FLOAT、DOUBLE、DECIMAL

注意:十进制的浮点数无法在计算机中用二进制精确表达
在这里插入图片描述

2. 数据类型:字符串

	例如:CHAR、VARCHAR、TEXT、MEDIUMTEXT、LONGTEXT

在这里插入图片描述

3. 数据类型:日期类型

	例如:DATA TIME、YEAR、DATETIME、TIMESTAMP

在这里插入图片描述

四、数据定义语言:修改表结构

1. 给某一个表添加字段alter table 表名称 add 列1 数据类型 [约束] [comment = "注释"]

	例如:ALTER TABLE student
			 ADD address VARCHAR(200) NOT NULL,
			 ADD home_tel CHAR(11) NOT NULL;

2. 给某一个表修改字段alter table 表名称 modify 列1 数据类型 [约束] [comment = "注释"]

	例如:ALTER TABLE student
			 MODIFY home_tel VARCHAR(20) NOT NULL;

3. 给某一个表修改字段名称alter table 表名称 change 列1 新列名1 数据类型 [约束] [comment = "注释"]

	例如:ALTER TABLE student
			 CHANGE address home_address VARCHAR(200) NOT NULL;

4. 给某一个表删除字段alter table 表名称 drop 列1

	例如:ALTER TABLE student
			 DROP home_tel,
			 DROP home_address;

五、数据定义语言:字段约束

1.数据库的范式:

	① 构造数据库必须遵循一定的规则,这种规则就是范式。
	② 目前关系型数据库一共有6种范式,一般情况下,只满足第三范式即可。
1.1 第一范式:原子性
	① 第一范式是数据库的基本要求,不满足这一点就不是关系型数据库。
	② 数据表中的每一列都是不可分割的基本数据项,同一列中不可能有多个值,也不可能存在重复属性。

在这里插入图片描述

1.2 第二范式:唯一性
	① 数据表中的每条记录必须是唯一的。为了区分,通常要为表加上一列用来存储唯一标识,这个唯一属性列被称为主键列。

在这里插入图片描述

1.3 第三范式:关联性
	① 每列都与主键有直接关系,不存在传递依赖。
	② 依照第三范式,数据可以拆分到不同的数据表中,彼此保持关联。

在这里插入图片描述

2. 字段的约束

	MySql中字段约束一共分为四种:主键约束、非空约束、唯一约束、外键约束

在这里插入图片描述

2.1主键约束
	① 主键约束要求字段的值在全表必须唯一,而且不能为NULL值。
	② 建议主键一定要使用数字类型,因为数字的检索速度非常快。
	③ 如果主键是数字类型,还可以设置自动增长。

在这里插入图片描述

2.2非空约束
	① 非空约束要求数据的值不能为NULL值。
	② NULL值为没有值,不是空字符串 "" .

在这里插入图片描述

2.3唯一约束
	唯一约束要求字段值如果不为NULL值,那么在全表中必须唯一。

在这里插入图片描述

2.4 外键约束
	① 外键约束是用来保证关联数据的逻辑关系。
	② 外键约束的定义是写在子表上的。

在这里插入图片描述

六、数据定义语言:索引

1. 数据排序的好处:

	① 一旦数据排序之后,查找的速度就会翻倍。

2. 如何创建索引:

2.1 通过INDEX关键字创建索引
	CREATE TABLE t_message(
		id INT UNSIGNED PRIMARY KEY,
		centent VARCHAR(200) NOT NULL,
		type ENUM("公告","通报","个人通知") NOT NULL,
		create_tiime TIMESTAMP NOT NULL,
		INDEX idx_type (type)
	);
2.2 对索引进行增删改查
2.2.1 添加索引一:create index 索引名称 on 表名称(字段)
	例如:CREATE INDEX idx_type on t_message(type);
2.2.2 添加索引二:alter table 表名称 add index [索引名称] (字段)
	例如:ALTER TABLE t_message ADD INDEX idx_type(type);
2.2.3 显示索引:show index from 表名称
	例如:SHOW INDEX FROM t_message;
2.2.4 删除索引:drop index 索引名称 on 表名称
	例如:DROP INDEX idx_type ON t_message;
3. 索引的使用原则
	① 数据量很大,而且经常会被查询的数据表可以设置索引。
	② 索引只添加在经常被用作检索条件的字段上。
	③ 不要在大字段上创建索引。

七、总结:

	① 掌握逻辑库和数据表的管理
	② 了解MySQL常用数据类型
	③ 掌握MySQL字段约束
	④ 掌握索引机制
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

__潇湘夜雨__

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值