自学内容网 自学内容网

MySQL数据库安装使用


我们都知道数据库又分为关系型数据库和非关系型数据库;

  • 关系型数据库指采用了关系模型来组织数据的数据库,指的就是二维表格模型。可以先初步理解为Excel表格。
  • 非关系型数据库又被称为NoSQL,对NoSQL 最普遍的定义是“非关联型的”,强调 Key-Value 的方式存储数据。

Key-Value结构存储: Key-value数据库是一种以键值对存储数据的一种数据库,类似Java中的map。可以将整个数据库理解为一个大的map,每个键都会对应一个唯一的值。 

关系型数据库:

非关系型数据库:

 

MySQL是一个关系型数据库管理系统,目前属于 Oracle 旗下产品,MySQL 是最流行的关系型数据库管理系统中的一个。 

下载

MySQL是开源免费的,可以直接去官网下载最新版MySQLMySQL :: Download MySQL Community Server

添加环境变量
添加环境变量的目的是输入终端命令时,可以搜索对应的可执行文件。

首先找到mysql的安装目录,并且定位到mysql文件,将地址栏内容进行复制。

默认安装地址:

找到系统变量中的path变量,点击编辑,选择新建,将刚才的赋值的mysql文件的地址粘贴到文本框中,点击确定,完成环境变量配置。

 

搜索栏输入cmd,按Enter键唤出终端窗口 

输出如下内容则配置成功。


MySQL是一个需要账户名密码登录的数据库,登陆后使用,它提供了一个默认的root账号,使用安装时设置的密码即可登录:

mysql -uroot –p密码

SQL语句

结构化查询语言(Structured Query Language)简称SQL,是关系型数据库管理系统都需要遵循的规范,是数据库认识的语句。

SQL语句分类:数据定义语言(DDL)、数据操作语言(DML)、数据查询语言(DQL)、数据控制语言(DCL)

select *  from students;

SQL常用数据类型

 日期和时间类型

类型

大小bytes)

范围

格式

用途

DATE

3

1000-01-01/9999-12-31

YYYY-MM-DD

日期值

TIME

3

'-838:59:59'/'838:59:59'

HH:MM:SS

时间值或持续时间

YEAR

1

1901/2155

YYYY

年份值

DATETIME

8

'1000-01-01 00:00:00' 到 '9999-12-31 23:59:59'

YYYY-MM-DD hh:mm:ss

混合日期和时间值

 字符串类型

  • CHAR(n) 和 VARCHAR(n) 中括号中 n 代表字符的个数,并不代表字节个数,比如 CHAR(30) 就可以存储 30 个字符。 

创建数据库 

create database 数据库名;  

use 数据库名;

表的创建

create table if not exists 表名(
字段名1  类型(长度) [约束],
字段名2  类型(长度) [约束],
   ...
);

修改表结构

alter  table  表名  add  列名  类型(长度)  [约束];
alter table category add  `desc`  varchar(20);

alter table 表名 drop 列名;
alter table category drop description;

数据查询语言

CREATE TABLE product
(
    pid         INT PRIMARY KEY,
    pname       VARCHAR(20),
    price       DOUBLE,
    category_id VARCHAR(32)
);

插入数据:

INSERT INTO product(pid,pname,price,category_id) VALUES(1,'联想',5000,'c001');
INSERT INTO product(pid,pname,price,category_id) VALUES(2,'海尔',3000,'c001');
INSERT INTO product(pid,pname,price,category_id) VALUES(3,'雷神',5000,'c001');
INSERT INTO product(pid,pname,price,category_id) VALUES(4,'杰克琼斯',800,'c002');
INSERT INTO product(pid,pname,price,category_id) VALUES(5,'真维斯',200,'c002');
INSERT INTO product(pid,pname,price,category_id) VALUES(6,'花花公子',440,'c002');
INSERT INTO product(pid,pname,price,category_id) VALUES(7,'劲霸',2000,'c002');
INSERT INTO product(pid,pname,price,category_id) VALUES(8,'香奈儿',800,'c003');
INSERT INTO product(pid,pname,price,category_id) VALUES(9,'相宜本草',200,'c003');
INSERT INTO product(pid,pname,price,category_id) VALUES(10,'面霸',5,'c003');

查询:

# 查询所有的商品.  
select *  from product;
# 查询商品名和商品价格. 
select pname,price from product;
# 查询结果是表达式(运算查询):将所有商品的价格+10元进行显示.
select pname,price+10 from product;

# 查询商品名称为“花花公子”的商品所有信息:
SELECT * FROM product WHERE pname = '花花公子';
# 查询价格为800商品
SELECT * FROM product WHERE price = 800;
# 查询价格不是800的所有商品
SELECT * FROM product WHERE price != 800;

 模糊查询:

# 查询以'香'开头的所有商品
SELECT * FROM product WHERE pname LIKE '香%’;
# 查询第二个字为'想'的所有商品
SELECT * FROM product WHERE pname LIKE '_想%’;

聚合查询:

# 查询商品的总条数
SELECT COUNT(*) FROM product;
# 查询价格大于200商品的总条数
SELECT COUNT(*) FROM product WHERE price > 200;

分组查询:分组查询是指使用group by字句对查询信息进行分组。

having与where的区别:

  • having是在分组后对数据进行过滤,where是在分组前对数据进行过滤
  • having后面可以使用分组函数(统计函数),where后面不可以使用分组函数。
#统计各个分类商品的个数
SELECT category_id ,COUNT(*) FROM product GROUP BY category_id ;

#统计各个分类商品的个数,且只显示个数大于1的信息
SELECT category_id ,COUNT(*) FROM product GROUP BY category_id HAVING COUNT(*) > 1;

以上就是MySQL的安装和简单的使用了。 


原文地址:https://blog.csdn.net/qq_64685283/article/details/140655724

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!