MySQl的学习1___概述

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) ,这里就将客户端关闭了,而不是关闭服务器。

 1 C:\WINDOWS\system32>mysql -uroot -p1234567890
 2 mysql: [Warning] Using a password on the command line interface can be insecure.
 3 Welcome to the MySQL monitor.  Commands end with ; or \g.
 4 Your MySQL connection id is 8
 5 Server version: 8.0.15 MySQL Community Server - GPL
 6 
 7 Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
 8 
 9 Oracle is a registered trademark of Oracle Corporation and/or its
10 affiliates. Other names may be trademarks of their respective
11 owners.
12 
13 Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
14 
15 mysql> \q
16 Bye

 

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

5.数据类型:

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

整数类型:

 

浮点数类型:

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

字符串类型(建议使用时用单引号括起来):

字符编码:可以将一个字符映射到一个二进制数据。字符是面向人的概念,字节是面向计算机的。采用不同的字符编码,对应的二进制串也是不同的。

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

W:某种编码方式下,一个字符所需的字节数;

L:按照字符编码计算下来的字节大小;

ENUM和SET类型(是一种特殊的字符串类型):

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

 时间和日期类型:

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

 

NULL值:表示没有值或者未知的值。

 6.数据字段的属性

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

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

Auto_Increment:自动增长的,每添加一条记录就在原来数据上加1,通常用来修饰主键(且为整形),可以设置初始值,步长

(一个表中最多只有一个自增列,通常给自增列建立索引)

NULL  /  NotNULL:没有插入该列的值;该列必须有值

DEFAULT:设置默认值

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

 

 

posted @ 2019-07-01 10:13  德鲁大叔817  阅读(234)  评论(0编辑  收藏  举报