MySQL介绍

5 篇文章 0 订阅

什么是数据库

数据库是存放数据的仓库,其本质是一个[文件系统],数据按照特定的格式将数据存储起来,用户可以通过SQL对数据库中的数据进行增加,修改,删除及查询操作

什么是关系型数据库

数据库中的[记录是有行有列的数据库]就是关系型数据库,与之相反的就是NoSQL数据库了

数据库管理系统

数据库管理系统(DataBase Management System,DBMS):指一种[操作和管理数据库]的大型软件,用于建立、使用和维护数据库,对数据库进行统一管理和控制,以保证数据库的安全性和完整性。用户通过数据库管理系统访问数据库中表内的数据。(记录)

常见的数据库

MYSQL :开源免费的数据库,小型的数据库.已经被Oracle收购了。MySQL5.5版本之后都是由Oracle发布的版本。
Oracle :收费的大型数据库,Oracle公司的产品。Oracle收购SUN公司,收购MYSQL。
DB2 :IBM公司的数据库产品,收费的。常应用在银行系统中。在中国的互联网公司,要求去IOE(IBM小型机、Oracle : 数据库、EMC存储设备)
SQLServer:MicroSoft 公司收费的中型的数据库。C#、.net等语言常使用。
SyBase :已经淡出历史舞台。提供了一个非常专业数据建模的工具PowerDesigner。
SQLite : 嵌入式的小型数据库,应用在手机端。

什么是SQL

sql(Structured Query Language),是具有数据操纵和数据定义等多种功能的数据库语言,这种语言具有交互性特点,能为用户提供极大的便利,数据库管理系统应充分利用SQL语言提高计算机应用系统的工作质量与效率。

SQL语言分类

数据定义语言:简称【DDL】(Data Definition Language),用来定义数据库对象:数据库,表,列等。关键字:create,alter,drop等
数据操作语言:简称【DML】(Data Manipulation Language),用来对数据库中表的记录进行更新。关键字:insert,delete,update等
数据控制语言:简称【DCL】(Data Control Language),用来定义数据库的访问权限和安全级别,及创建用户;关键字:grant等
数据查询语言:简称【DQL】(Data Query Language),用来查询数据库中表的记录。关键字:select,from,where等

MySQL单机安装

操作系统:CentOS 7
MySQL:5.6

MySQL的卸载

查看MySQL软件

rpm -qa|grep mysql
yum repolist all | grep mysql

卸载MySQL

yum remove -y mysql mysql-libs mysql-common #卸载mysql
rm -rf /var/lib/mysql #删除mysql下的数据文件
rm /etc/my.cnf #删除mysql配置文件
yum remove -y mysql-community-release-el6-5.noarch #删除组件

安装MySQL

#下载rpm文件
wget http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm
#执行rpm源文件
rpm -ivh mysql-community-release-el6-5.noarch.rpm
#执行安装文件
yum install mysql-community-server

MySQL启动、重启与停止

#启动
systemctl start mysqld
#重启
systemctl restart mysqld
#停止
systemctl stop mysqld

设置root用户密码

/usr/bin/mysqladmin -u root password 'root'
#没有密码 有原来的密码则加
/usr/bin/mysqladmin -u root -p '123456' password 'root'

登录MySQL

登录命令

mysql -uroot -proot

命令说明

-u:指定数据库用户名
-p:指定数据库密码,记住-u和登录密码之间没有空格

配置MySQL

vim /etc/my.cnf

修改内容如下

[mysqld]
# MySQL设置大小写不敏感:默认:区分表名的大小写,不区分列名的大小写
# 0:大小写敏感 1:大小写不敏感
lower_case_table_names=1
# 默认字符集
character-set-server=utf8

MySQL远程连接授权

授权命令

grant 权限 on 数据库对象 to 用户

示例

授予root用户对所有数据库对象的全部操作权限:

mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
FLUSH PRIVILEGES;--刷新权限

命令说明

ALL PRIVILEGES :表示授予所有的权限,此处可以指定具体的授权权限。
*.* :表示所有库中的所有表
'root'@'%' : myuser是数据库的用户名,%表示是任意ip地址,可以指定具体ip地址。
IDENTIFIED BY 'root' :root是数据库的密码

关闭linux的防火墙

systemctl stop firewalld(默认)
systemctl disable firewalld.service(设置开启不启动)

DDL语句

创建数据库

create database 数据库名;
create database 数据库名 character set 字符集;

查看数据库

查看数据库服务器中的所有的数据库:

show databases;

查看某个数据库的定义的信息:

show create database 数据库名;

删除数据库(慎用)

drop database 数据库名称;

其他数据库操作命令

切换数据库:

use 数据库名;

查看正在使用的数据库:

select database();

表操作:table

字段类型

常用的类型有:

数字型:int
浮点型:double
字符型:varchar(可变长字符串)
日期类型:date(只有年月日,没有时分秒)
datetime(年月日,时分秒)
boolean类型:不支持,一般使用tinyint替代(值为0和1)

创建表

create table 表名(
字段名 类型(长度) 约束,
字段名 类型(长度) 约束
)engine=InnoDB CHARSET=utf8;

单表约束

主键约束:primary key
唯一约束:unique
非空约束:not null

主键约束 = 唯一约束 + 非空约束

查看表

查看数据库中的所有表:

show tables;

查看表结构

desc 表名;

删除表

drop table 表名;

修改表

alter table 表名 add 列名 类型(长度) 约束; --修改表添加列.
alter table 表名 modify 列名 类型(长度) 约束; --修改表修改列的类型长度及约束.
alter table 表名 change 旧列名 新列名 类型(长度) 约束; --修改表修改列名.
alter table 表名 drop 列名; --修改表删除列.
rename table 表名 to 新表名; --修改表名
alter table 表名 character set 字符集; --修改表的字符集

DML语句

插入记录:insert

语法

insert into 表 (列名1,列名2,列名3..) values (值1,值2,值3..); -- 向表中插入某些列
insert into 表 values (值1,值2,值3..); --向表中插入所有列
insert into 表 (列名1,列名2,列名3..) values select (列名1,列名2,列名3..) from 表
insert into 表 values select * from 表

1. 列名数与values后面的值的个数相等
2. 列的顺序与插入的值得顺序一致
3. 列名的类型与插入的值要一致.
4. 插入值得时候不能超过最大长度.
5. 值如果是字符串或者日期需要加引号’’ (一般是单引号)

更新记录:update

语法

update 表名 set 字段名=值,字段名=值;
update 表名 set 字段名=值,字段名=值 where 条件;

1. 列名的类型与修改的值要一致.
2. 修改值得时候不能超过最大长度.
3. 值如果是字符串或者日期需要加’’.

删除记录:delete

语法

delete from 表名 [where 条件];

删除方式:
- delete :一条一条删除,不清空auto_increment记录数。
- truncate :直接将表删除,重新建表,auto_increment将置为零,从新开始

DQL语法顺序

SELECT DISTINCT
< select_list >
FROM
< left_table > < join_type >
JOIN < right_table > ON < join_condition >
WHERE
< where_condition >
GROUP BY
< group_by_list >
HAVING
< having_condition >
ORDER BY
< order_by_condition >
LIMIT < limit_number >

聚合函数(组函数)

特点:只对单列进行操作

常用的聚合函数

sum():求某一列的和
avg():求某一列的平均值
max():求某一列的最大值
min():求某一列的最小值
count():求某一列的元素个数

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

2014Team

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值