MYSQL学习笔记(一)概述

1.关系型数据库的管理系统:
比如当前有两张表:学生信息表(学号,姓名,性别,身份证号,学院,专业,入学时间),学生成绩表(学号,科目,成绩)我们可以根据一个学生的学号查找到他的某一学科的成绩,即两张表通过学号联系起来,这就是关系型数据库管理系统。本阶段主要学习的是(mysql)。

2.Mysql的优势: 免费,开源,跨平台,功能齐全。

3.客户端 / 服务端架构:
服务器的程序直接操作我们存储的数据,我们作为客户端连接到这个服务器程序,并发送增删改查的请求,服务器程序将进行响应,从而操作它维护的数据库。每个客户端都得提供账户,密码后才能登录,登录后才能向服务器发送请求,由服务器来直接操作数据库中的数据。我们在学习时,将服务器和客户端程序都安装到自己的电脑上,使用时先打开服务端,在进行客户端的登录来进行交互。

4.Mysql中的可执行文件:
这里讲一下如何执行这些可执行文件,首先我们可以在CMD中输入这些文件的路径(相对路径,绝对路径),就可以执行。其实这些文件就相当于图形化界面中的一个个图标,鼠标双击就可以执行。当我们觉得在CMD中输入路径太麻烦,可以考虑给这些文件添加快捷方式。Windows中可以把这些文件的Bin目录添加到系统变量的Path中,这时我们直接输入命令名称即可。

一般把MySql注册为Windows的服务,通过net start mysql80 ,net stop mysql80来开启和关闭服务器。

C:\WINDOWS\system32>net stop mysql80
MySQL80 服务正在停止.
MySQL80 服务已成功停止。


C:\WINDOWS\system32>net start mysql80
MySQL80 服务正在启动 ...
MySQL80 服务已经启动成功。

客户端连接服务器命令: mysql -uroot -p1234567890 ,登录成功后,mysql> 代表命令的提示符,我们在这后面添加增删改查的请求,交由服务器去相应。

客户端中断与服务器的连接: mysql> 后面可以添加 quit / exit / (\q) ,这里就将客户端关闭了,而不是关闭服务器。

注意点:

  • Mysql命令的摆放顺序没有硬性规定; 如果客户端和服务器安装在同一台机器上 -h(客户端连接服务器时的命令参数,表示启动服务器的计算机的域名或者IP地址)可以省略。

5.数据类型:
Mysql的底层其实是将数据存储到表中,表是由行和列组成的。

整数类型:
在这里插入图片描述
浮点数类型:
在这里插入图片描述
(但是当计算机在存储0.3时,转换成二进制时循环小数,只能进行四舍五入来取近似值。所以说浮点数有时候是不精确的。)

字符串类型(建议使用时用单引号括起来):
字符编码:可以将一个字符映射到一个二进制数据。字符是面向人的概念,字节是面向计算机的。采用不同的字符编码,对应的二进制串也是不同的。

M:代表字符可输入的大小;

L:按照字符编码计算下来的字节大小;
在这里插入图片描述
ENUM和SET类型(是一种特殊的字符串类型):

enum表示在给定的字符串列表里选一个,set可在给定的字符串列表中选择多个。

时间和日期类型:

YEAR(年份表),DATE(日期值),TIME(时间值),DATETIME(日期加时间值),TIMESTAMP(时间戳)。

在这里插入图片描述
NULL值:表示没有值或者未知的值。

6.数据字段的属性

Unsigned :无符号,代表不能为负数

ZEROFILL:零填充,不够的位数用0进行填充

Auto_Increment:自动增长的,每添加一条记录就在原来数据上加1,通常用来修饰主键(且为整形),可以设置初始值,步长(一个表中最多只有一个自增列,通常给自增列建立索引)

  1. Auto_Increment=100:只影响当前表
  2. SET @@auto_increment_incermen =5;影响所有使用自增的表,全局

NULL / NOT NULL:默认为NULL即没有插入该列的数值;如果设置为NOT NULL该列必须有值

DEFAULT:设置默认值

UNIQUE:表明该列或者该列组的值是不能重复的 唯一性约束

猜你喜欢

转载自blog.csdn.net/jingli456/article/details/113115869