关系数据库,是建立在关系数据库模型基础上的数据库,借助于集合代数等概念和方法来处理数据 库中的数据,同时也是一个被组织成一组拥有正式描述性的表格,该形式的表格作用的实质是装载着数 据项的特殊收集体,这些表格中的数据能以许多不同的方式被存取或重新召集而不需要重新组织数据库 表格。关系数据库的定义造成元数据的一张表格或造成表格、列、范围和约束的正式描述。每个表格 (有时被称为一个关系)包含用列表示的一个或更多的数据种类。 每行包含一个唯一的数据实体,这些 数据是被列定义的种类。当创造一个关系数据库的时候,你能定义数据列的可能值的范围和可能应用于 那个数据值的进一步约束。而SQL语言是标准用户和应用程序到关系数据库的接口。其优势是容易扩 充,且在最初的数据库创造之后,一个新的数据种类能被添加而不需要修改所有的现有应用软件。主流 的关系数据库有oracle、db2、sqlserver、sybase、mysql等。

一、概述

MySQL是一个[关系型数据库管理系统],由瑞典MySQL AB 公司开发,2008年被sun公司收购, 2009sun又被oracle收购,所以属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之 一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数 据库管理系统) 应用软件之一。 MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放 在一个大仓库内,这样就增加了速度并提高了灵活性。 MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政 策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般 中小型网站的开发都选择 MySQL 作为网站数据库。

二、Mysql下载与安装

1.mysql 版本

4.1

5.0 5.1 5.2 …5.6

5.7 …8.0.x

5.5  5.6  5.7  8.0

下载地址:https://downloads.mysql.com/archives/community/

2.安装与启动

打开命令控制台,用管理员打开命令控制台。

进入MySQL的bin目录

执行mysqld install安装导入

net start mysql启动服务

E:\sql5\bin>mysql -uroot  //开启服务
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.6.51 MySQL Community Server (GPL)

Copyright (c) 2000, 2021, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> select version();
+-----------+
| version() |
+-----------+
| 5.6.51 |
+-----------+
1 row in set (0.00 sec)

mysql> exit
Bye

E:\sql5\bin>

服务停止
E:\sql5\bin>net stop mysql
MySQL 服务正在停止.
MySQL 服务已成功停止。

移除MySQL

E:\sql5\bin>mysqld remove
Service successfully removed.

E:\sql5\bin>

三、库和用户

1.创建用户

用户只能在指定ip地址上登录mysql:create user用户名@IP地址 identified by“密码';

用户可以在任意ip地址上登录:create user用户名@%' identified by密码;

查询所有用户

2.设置权限

语法:grant权限1..,权限n on数据库.* to 用户名QIP地址,其中权限1、2、n可以直接用all关键字代替。权限例如:create,alter,drop,insert,update,delete,select。
1grant a1l on *.* to 用户名;

3.查看用户权限

查看指定用户的权限:Show grants for 用户名@p地址;
show grants for zn;

四、常用数据类型

日期和时间数据类型

MYSQL数据类型 含义
date 3字节,日期,格式:2012-02-19
time 3字节,日期,格式:08:42:45
datetime 8字节,日期,格式:2015-08-19 08:42:22
timestamp 4字节,自动存储记录修改的时间
year 1字节,年份

整型

MYSQL数据类型 含义
tinyint   1字节,范围(-128-127)
 smalint  2字节,范围(-32768-32767)
 mediumint  3字节,范围(-8388608-8388607)
 int  4字节,范围(-2147483648-214783647)
 bigint  8字节,范围(+-9.22*10的18次方)

上面定义的都是有符号的,当然了,也可以加上unsigned关键字,定义成无符号的类型,那么对应
的取值范围就要翻翻了,比如:
tinyint unsigned的取值范围为0-255。

浮点型

MySQL数据类型 含义
float(m, d) 4字节,单精度浮点型,m总个数, d小数位
double(m, d) 8字节,双精度浮点型,m总个数,d小数位
decimal(m, d) 我在MySQL中建立了一个表,有一列为float(5, 3);做了以下试验: 

1.插入123.45678,最后查询得到的结果为99.999;
2.插入123.456,最后查询结果为99.999;
3.插入12.34567,最后查询结果为12.346;

所以,在使用浮点型的时候,还是要注意陷阱的,要以插入数据库中的实际结果为准。

字符串数据类型

MySQL数据类型 含义
char(n) 固定长度,最多255个字符
varchar(n) 可变长度,最多65535个字符
tinytext 可变长度,最多255个字符
text 可变长度,最多65535个字符
mediumtext 可变长度,最多2的24次方-1个字符
longtext 可变长度,最多2的32次方-1个字符

1.char (n)和varchar (n) 中括号中n代表字符的个数,并不代表字节个数,所以当使用了中文的时
候(UTF8)意味着可以插入m个中文,但是实际会占用m*3个字节。
2.同时char和yarchar最大的区别就在于char不管实际value都会占用n个字符的空间,而yarchar只会
占用实际字符应该占用的空间+1,并且实际空间+1<=n。
3.超过char和yarchar的n设置后,字符串会被截断。
4.char的上限为255字节, varchar的 上限65535字节, text的 上限为65535。
5.char在存储的时候会截断尾部的空格, varchar和text不会。
6.varchar会使用1-3个字节来存储长度,text不会。

其它类型emun和set

查看当前数据库中所有表:SHOW TABLES:
查看表结构:DESC表:
删除表:DROP table表名:
修改表有5个操作,但前缀都是一样的:ALTER TABLE 表名.. (不重要)
●修改表之添加列:ALTER TABLE表名add (列名列类型,....列名列类型;
ALTER TABLE student add (address VARCHAR(20) ,hobby VARCHAR(20))
●修改表之修改列类型:ALTER TABLE 表名MODIFY 列名列的新类型;
 ALTER TABLE student MODIFY hobby int;
●修改表之列名称列类型-起修改:ALTER TABLE表名CHANGE 原列名新列名列名类型9
 ALTER TABLE student CHANGE hobby newHobby VARCHAR(15);
●修改表之删除列:ALTER TABLE表名DROP列名
 ALTER TABLE student drop newHobby;
●修改表之修改表名:ALTER TABLE 表名RENAME TO新表名
ALTER TABLE student RENAME to stu;

四、约束

数据库迁移(版本要一致)

从别人哪儿拿数据到自己的MySQL

mysqldump -h192.168.21.23 -uzcx -p --databases t1 | mysql

将自己的数据库给被人

mysqldump --databses t2 mysql | -h192.168.23 -uaa -p

约束类型

约束名称 描述
NOT NULL 非空约束
UNIQUE 唯一约束,取值不允重复
PRIMARY KEY 主键约束(主关键字),自带非空,唯一,索引
FORMRIGN KEY 外键约束(外键关键字)
DEFAULT 默认值(缺省值)

最新文章

  1. NFS服务器搭建——可用于共享文件或负载均衡文件共享服务器使用
  2. Android HttpClient post MultipartEntity - Android 上传文件
  3. [转] Paxos算法2-算法过程(实现)
  4. Joel Spolsky对计算机学生的七大建议
  5. jquery层居中,点击小图查看大图,弹出层居中代码
  6. &lt;十一&gt;面向对象分析之UML核心元素之组件
  7. [Bootstrap] 3. Responsive Gridding (.hidden-sm, visible-md)
  8. 《JavaScript高级程序设计》 阅读计划
  9. 对return 语句的正确性和效率进行检查
  10. C#文本文件读写
  11. ASP.NET JQuery Ajax 详解
  12. 基于Linux平台病毒BlackHole病毒的决心
  13. efwplusUI框架,支持在Liunx服务器运行的Web开发框架,C#开发
  14. The 3rd tip of DB QueryAnalyzer
  15. python1114string_test
  16. 3.1.1随机事件的概率的Breamer(2018-03-22)
  17. jQuery中使用attribute,prop获取,设置input的checked值【转】
  18. (转)J2EE十三个技术规范
  19. 关于datatable导出execl
  20. js获取url链接地址的参数

热门文章

  1. centos 目录结构
  2. 微信小程序动画实现(API,css)
  3. YBT 1633:【例 3】Sumdiv
  4. 【C语言】将文本中汉字读入字符数组输出乱码
  5. 简单Spring MVC项目搭建
  6. PWA 技术落地!让你的站点(Web)秒变APP(应用程序)
  7. 给自己的网站装上SSL证书
  8. golang中的反射reflect详解
  9. Simulink S-Function的使用(以串口接收MPU6050六轴陀螺仪参数为实例)
  10. Nginx命令(全局配置文件与模块)