MySQL基础一

数据库

一、关系型数据库

Oracle

MySQL

SQL Server

二、非关系型数据库

NoSQL(NoSQL = Not Only SQL)

NoSQL,指的是非关系型的数据库。NoSQL有时也称作Not Only SQL的缩写,是对不同于传统的关系型数据库的数据库管理系统的统称。

NoSQL数据库分类

文档存储——MongoDB

列存储——HBASE

三、数据仓库——Hive

传统数据库都使用的SQL语句,而Hive使用的是HQL语句,在大部分情况下其增删改查的语句都是类似的,因此广义上而言,学会了SQL语句的语法也就学会了HQL语句。

MySQL数据库介绍

MySQL是目前最流行的关系型数据库管理系统,瑞典MySQLAB公司开发开源软件,现归属于Oracle公司。

MySQL支持大型的数据库,支持大型数据库,支持5000万条记录的数据仓库,32位系统表文件最大可支持4GB,64位系统支持最大的表文件为8TB。

MySQL使用标准的SQL数据语言形式。

MySQL可以允许于多个系统上,并且支持多种语言。这些编程语言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。

MySQL是可以定制的,采用了GPL协议,你可以修改源码来开发自己的MySQL系统

数据库基本操作

(ps:可以通过MySQL Workbench来进行编码,也可以直接通过cmd命令行,我使用的是Workbench)

show databases;        #查看数据库
use sys;               #使用数据库,sys为数据库名称
show tables;           #显示数据表

#创建数据库,数据库名为db_mysql_2019
create database db_mysql_2019;
#删除数据库
drop database db_mysql_2019;

#设置编码格式为UTF-8
create database db_mysql_2019 character set utf8mb4;

数据表的基本操作

use db_mysql_2019;        #选择之前创建好的数据库
#建表,表名为stuinfo
create table stuinfo(
    stuId int unsigned primary key,
    stuName varchar(10) not null,
    gender char(1),
    birthDate date,
    class varchar(2),
    city varchar(20)
);

show tables;
select * from stuinfo;    #查询stuinfo表
describe stuinfo;         #查看表结构

#插入数据
insert into stuinfo(stuId,stuName,gender,birthDate,class,city)
    values(20161001,'Zhaoyi','男','1990/1/1','1','Beijing');

#插入多条记录
insert into stuinfo(stuId,stuName,gender,birthDate,class,city)
values(20161002,'Wangwu','女','1991/1/3','1','Beijing'),
      (20161003,'Lisi','男','1990/11/4','1','Shanghai'),
      (20161004,'Ximen','男','1989/8/7','1',null),
      (20161005,'zhangsan','女','1989/1/2','1','Tianjin'),
      (20161010,'Leilei','男','1990/12/5','1',null),
      (20161005,'Niuer','女','1990/7/6','1','Guangzhou');

#修改表
alter table stuinfo add major varchar(20);
alter table stuinfo add major varchar(20) after class;    #在class字段之后
alter table stuinfo add major varchar(20) before class;   #在class字段之前
#修改表名
alter table stuinfo rename stuinfo1;

#删除字段
alter table stuinfo drop major;
#删除表
drop table stuinfo;

#删除表中数据
delete from stuinfo where stuId = 20161002;
#修改表中数据
update stuinfo set stuName='Jack' where stuId=20161001;

MySQL中的数据类型

一、字符型

存储字符型数据,例如姓名、地址、电话号码等

char(255)——定长字符串,最大长度为255个字符

varchar(255)——可变长度的字符串

text——最大长度为64K的变长文本

             mediumtext,longtext

使用引号括起来,一般用单引号

二、数值型

存储数值型的数据,例如人数、金额、销售额等

整型——int——整数值

浮点型——decimal——精度可变的浮点值

           ——float——单精度浮点值

           ——double——双精度浮点值

三、日期时间型

存储日期和时间值,例如2008年1月1日,或者14:00:00

date——yyyy-mm-dd

datetime

time

数据的导入和导出

一、通过图形界面导出和导入

1、数据导出

先查询,再导出/导入

#数据导出
/**
先查询
然后再通过图形界面导出
*/
select * from stuinfo;

然后保存到指定文件夹即可

2、数据导入

#首先建表stuScore
create table stuSocre(
	stuId int unsigned primary key,
    stuName varchar(10) not null,
    class varchar(2),
    Math decimal(5,1),
    English decimal(5,1)
);

注意,导入的文件后缀必须为csv格式

二、通过SQL语句导出和导入

1、数据导出

select * from stuinfo into outfile 'D:/BigDataStudy/mysql/data/db_mysql/stuinfo_export.txt'
 fields terminated by ',' lines terminated by '\r\n';

第一个' '内为保存路径,注意:路径中不能出现任何中文字符,第二个' '为字段之间的分隔符,其中\t表示格式化,第三个' '内为行之间的分隔符,\r\n表示换行

2、数据导入

#使用SQL语句导入也需要先建表
load data infile 'D:/BigDataStudy/mysql/data/stuScore.csv'
 into table stuScore fields terminated by ',' lines terminated by '\r\n';

三个' '的内容同导出

注意:可能会出现无法导入的情况,解决方法为

先查找my.ini文件的位置——我的电脑-管理-服务,找到mysql示例,右击鼠标-属性

打开my.ini文件,修改路径如下

修改完以后将mysql重启再运行语句即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值