导学+初识MySQL+SQL语法规范+数据库相关操作+表相关操作+MySql存储引擎介绍+MySQL表的创建+测试数据类型

一、导学

1、什么是SQL?

结构化查询语言,数据库管理系统通过SQL语言来管理数据库中的数据;

2、SQL语言组成部分

(1)DDL——数据定义语言,主要定义数据库、表、视图、索引和触发器等
(2)DML——主要包括对数据的增删改;insert插入数据、updata更新数据、删除数据等
(3)DQL——数据检索语言,用来从表中获得数据,确定数据怎样在应用程序中给出,例如SELECT查询数据
(4)DCL——数据控制语言,主要用于控制用户的访问权限

3、SQL目录功能

bin目录存储可执行文件
data目录存储数据文件
include目录存储包含的头文件
lib目录存储库文件
docs目录存储文档
share目录,错误消息和字符集文件
my.ini文件,MySQL的配置文件

二、初识MySQL

1、从cmd进入到命令框,输入mysql -uroot -p123456 点击两次回车键即可链接到数据库;
2、分隔符为\g或者是;一般情况下用封号;
在这里插入图片描述
3、用help或h来查看帮助手册
在这里插入图片描述
4、用‘\c’来取消当前的输入,当前输入的命令不会被执行
在这里插入图片描述
5、修改MySQL命令提示符的方法:
(1)mysql -uroot -proot-prompt提示符
(2)promt提示符,通过prompt命令进行修改
或者直接在进入的时候就将命令符进行修改——用mysql -uroot -p --prompt=\h~\u将命令提示符修改为服务器名称加当前用户名称
在这里插入图片描述
6、命令提示符常用参数:
\D:完整日期
\d:当前数据库
\h:服务器名称
\u:当前用户名在这里插入图片描述
7、查看当前版本号
在这里插入图片描述
8、查看当前用户
在这里插入图片描述
9、得到当前时间
在这里插入图片描述

三、SQL语法规范

1、关键字与函数名称全部大写
2、数据库名称、表名称、字段名称等全部小写
3、SQL语句必须以分隔符结尾
4、SQL语句支持换行操作,只要不把单词、标记或引号字符串分割为两部分,可以用回车转下一行;
在这里插入图片描述
5、注意:引号必须成对出现
6、数据库名称、表名称、字段名称尽量不要用MySQL的保留字,如果需要使用的时候用反引号(’’)将名称括起来
7、修改分隔符:用delimiter来修改分隔符
在这里插入图片描述
8、通过键盘的上下键可以调出之前写过的命令
9、通过\T来创建新文件,开启输出日志之后,任何命令都会保存在该文件中;结束输出日志用\t来结束
在这里插入图片描述

四、数据库相关操作

1、通过CREATE BATABASE或者是CREATE SCHEMA 创建一个数据库;也可以手动在文件夹里添加一个数据库
在这里插入图片描述在这里插入图片描述
2、已经创建的数据库不能再次创建相同名称的数据库
如果不存在test2数据库的情况下建立该数据库,提示有一个警告
在这里插入图片描述
3、通过show warnings;来查看警告内容
在这里插入图片描述
4、通过show databases;或者show schemas;命令来查看数据库
在这里插入图片描述
5、通过show create database test3;来查看文件创建信息,其中可以看到编码方式是utf-8
在这里插入图片描述
6、通过CREATE DATABASE IF NOT EXISTS test4 DEFAULT CHARACTER SET = ‘GBK’;命令来以GBK编码方式常见test4数据库;等号可以不写
7、通过SHOW CREATE DATABASE test4;可以查看创建数据库的基本信息
在这里插入图片描述
8、通过ALTER DATABASE 数据库名称 DEFAULT CHARACTER SET 编码方式; 来更改编码方式
在这里插入图片描述
9、通过use+数据库名称来打开数据库
在这里插入图片描述
10、查看当前打开的数据库
在这里插入图片描述
11、通过 DROP DATABASE数据库名称来删除指定数据库
在这里插入图片描述

五、表相关操作

1、什么是表?

数据表是数据库中最重要的组成成分之一,是其他对象的基础
数据表是存储数据的数据机构
数据表是包含了特定实体类型的数据
数据表由行和列构成的二维网格
数据表一定现有表结构,再有数据
数据表至少有一列,可以没有行或者由多行
数据表名称要求唯一,而且不要包含特殊字符

2、如何创建表?

字段名称、字段类型

关于字段类型:整数;字符串;浮点数;布尔类型

3、mysql支持的数据类型

(1)整数类型在这里插入图片描述

*查看帮助手册,查看整数类型的存储范围
(1)help+查询内容
在这里插入图片描述
(2)或者用\h+查询内容
在这里插入图片描述

(2)浮点数在这里插入图片描述

(3)字符串在这里插入图片描述

(4)日期时间类型在这里插入图片描述

(5)二进制类型

六、MySql存储引擎介绍

1、什么是存储引擎?

存储引擎是指表的类型,数据库的存储类型决定了表在计算机中的存储方式。用户可以根据不同的存储方式、是否进行事务处理来选择合适的存储引擎

2、如何查看mysql的存储引擎?

SHOW ENGINES;
在这里插入图片描述
或者是SHOW ENGINES\G; 以***分隔符来表示,更加美观
在这里插入图片描述
默认的引擎是 InnoDB
在这里插入图片描述

3、查看存储引擎相关内容

在这里插入图片描述

4、查看默认存储引擎

在这里插入图片描述

5、mysql常用的存储引擎及特点

(1)InnoDB存储引擎;——支持外界

当表要求较高的事物处理时可以用该引擎

(2)MyISAM存储引擎;——支持三种格式:静态型(字段不变)、动态型(字段可变)、压缩型(占用自盘小)

当要求较高的查询速度和写入数据时候可以用该引擎

缺点:不支持事物

(3)MEMORY存储引擎——用存放在内存中的数据建表,同样存储在内存中

当对安全性要求不高,需要快速读取的时候可以用memory,生命周期比较短,且表不能太大,临时表

缺点:数据存储在内存上,如果意外断电会影响数据的完整性

七、MySQL表的创建

1、建立一个用户表

CREATE TABLE IF NOT EXISTS user(
id SMALLINT,
username VARCHAR(20),
age TINYINT,
sex ENUM('男','女','保密'),
email VARCHAR(50),
addr VARCHAR(200),
birth YEAR,
salary FLOAT(8,2),
tel INT,
married TINYINT(1) COMMENT '0代表为结婚,非0代表已结婚',
wechat VARCHAR(50)
)ENGINE=INNODB CHARSET=UTF8;

2、建立课程表

CREATE TABLE IF NOT EXISTS course(
cid TINYINT,
courseName VARCHAR(50),
courseDese VARCHAR(200) 
);

3、建立新闻分类表

CREATE TABLE IF NOT EXISTS cms_cate(
id TINYINT,
cateName VARCHAR(50),
cateDesc VARCHAR(200)
)ENGINE=MyISAM CHARSET=UTF8;

4、建立新闻表

CREATE TABLE IF NOT EXISTS cms_news(
id INT,
title VARCHAR(50),
content TEXT,
pubTime INT,
clickNum INT,
isTop TINYINT(1) COMMENT '0代表不置顶,1表示置顶'
);

八、测试数据类型

基础知识:
查看字段名称
(1)DESC cms_news;
(2)DESCRIBE cms_news;
(3)SHOW COLUMNS FROM cms_news;

1、测试整型

CREATE TABLE test1(
num1 TINYINT,
num2 SMALLINT,
num3 MEDIUMINT,
num4 INT,
num5 BIGINT
);
 

向表中插入记录INSERT tb1_name VALUE/VALUES(值,···);
在这里插入图片描述
查询表中所有记录 SELECT * FROM tb1_name;

用***?MEDIUMINT***来查询其范围
在这里插入图片描述
测试tinyint有无正负号的情况

CREATE TABLE test2(
num1 TINYINT UNSIGNED, #无负号的情况
num2 TINYINT
);

在这里插入图片描述在这里插入图片描述
插入超过范围的数值会报错
在这里插入图片描述
测试zerofill

CREATE TABLE test3(
num1 TINYINT(3) ZEROFILL,   #zerofill这里表明数值只能大于等于0
num2 TINYINT(3)
);

在这里插入图片描述
在这里插入图片描述
2、测试浮点型数据

CREATE TABLE test4(
num1 FLOAT(6,2),
num2 DOUBLE(6,2),
num3 DECIMAL(6,2)    
);

其中6是最长有六位数,其中有两位小数
在这里插入图片描述
出现了警告
在这里插入图片描述
查询警告,第三个定点数出现了问题

查询某个数值
在这里插入图片描述
当查询字符串数字时
在这里插入图片描述
定点数比较精确,是因为以字符串形式保存数据。一般来说,银行货币等都以定点数格式保存数据。

3、测试字符串类型

在这里插入图片描述
创建表格,养成好习惯,创建的时候把编码方式确定为utf8,不然没办法插入中文数据
在这里插入图片描述
然后插入数据值
INSERT test6 VALUES(‘1’,‘1’);
以下出现的所有test5相当于test6
在这里插入图片描述
INSERT test6 VALUES(‘12345’,‘12345’);
在这里插入图片描述
INSERT test6 VALUES(‘123456’,‘123456’);
报错,长度超过了限制

INSERT test6VALUES(’’,’’);

插入空字符串是可以的
在这里插入图片描述
INSERT test6 VALUES('1 ','1 ');
在这里插入图片描述
*CHAR后面的空格被去掉了,但是VARCHAR后面的空格被保留下来了。
在这里插入图片描述
插入中文字符
在这里插入图片描述
在这里插入图片描述
查询中文字符所占的空间,utf8格式下在占用的空间为3个长度
在这里插入图片描述
字符串前面的空格都会被保留下来
在这里插入图片描述
在这里插入图片描述
检索效率——CHAR>VARCHAR>TEXT
为了优化性能,尽量不使用text
text不能有默认值

测试text
在这里插入图片描述
查看表结构
在这里插入图片描述
查看表
在这里插入图片描述
测试枚举类型
(1)建表
在这里插入图片描述
(2)插入数据
在这里插入图片描述在这里插入图片描述
注意:可以用序号代替枚举值
在这里插入图片描述
2代表插入“女”这个数值
在这里插入图片描述
(3)查询表格内容
在这里插入图片描述
(4)查看表结构
在这里插入图片描述
默认值可以为空
可以插入null值,大小写均可
在这里插入图片描述
但是不能插入空字符串,会报错
在这里插入图片描述
测试集合类型
集合中可以存储64个值,同时可以从集合中选多个值
创建集合:
在这里插入图片描述
查看表结构
在这里插入图片描述
插入值的时候可以选择多个,多个值之间需要用逗号隔开,否则会报错,如下:
在这里插入图片描述
但检索的时候,还是会按照我们设置的顺序排列
在这里插入图片描述
集合保存值的方式是二进制,ABCD四个爱好分别是按照1,2,4,8的数值进行保存。以数字3为例,当我们插入数值3的时候,相当于插入了前两个爱好。
在这里插入图片描述
插入数值15的时候,所有得数值都有了
在这里插入图片描述

4、测试日期时间类型

在这里插入图片描述

测试YEAR

建表
在这里插入图片描述
插入数据
在这里插入图片描述
查表
在这里插入图片描述
year的范围是1901到2155
在这里插入图片描述
当插入的数值超过这两个数值时,会报错
在这里插入图片描述
当日期以字符串形式插入也可以
在这里插入图片描述
当插入的是两位数字或者两位字符串时,00-69之间或转换到2000-2069年;70-99之间会转换成1970-1999年之间
在这里插入图片描述
当插入数字0时,我们得到是数字0
在这里插入图片描述
当插入的是字符串0时,得到的是2000年
在这里插入图片描述
TIME类型
在这里插入图片描述
在time里面第一个值36等于1天24小时+12小时,第一个值=天数*24+小时数
其中,秒数可以简略
当插入的是一个四位数时,小时的位置省略掉,存入的是分钟和秒数
在这里插入图片描述
当插入的是一个四位数时,小时的位置省略掉,存入的是分钟和秒数
在这里插入图片描述
如何插入的是两位数,那么插入的是秒数
在这里插入图片描述
在time里面不管是字符串的0还是整数0,得到的都是四个0
在这里插入图片描述

在这里插入图片描述
如果插入的值超过了存储范围,则会报错
在这里插入图片描述
date
输入字符串,年月日之间用“-”分割

在这里插入图片描述

或者是用/分割
或者是120706
在这里插入图片描述
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值