数据库服务概述 数据库基本管理和MySQL数据类型

本文介绍了数据库的基本概念,重点讲解了MySQL的安装过程、启动服务的方法,以及MySQL的初始配置,包括密码策略的修改。此外,还涵盖了库和表的管理命令,以及各种数据类型的概述。
摘要由CSDN通过智能技术生成

1.什么是数据库
存储数据的的仓库.
2.一些常见的软件
主流的操作系统:
 Unix   Linux   Windows

软件名开源跨平台厂商
Oracl甲骨文
MYSQL甲骨文
SQL Server微软
DB2IBM
Redis开源软件
Memcache开源软件
Mongodb开源软件

3.专业术语

DB (DataBase)

-数据库

-依照某中数据模型进行组织并存放到存储器的数据集合

DBMS (DataBase Management System)

-数据库管理系统

-用来操作和管理数据库的服务软件

DBS (DataBase System)

-数据库系统:即 DB+DBMS

-指带有数据库并整合了数据库软件的计算机系统

4. 特点及应用

主要特点:

-适用于中小规模,关系型数据库系统

-支持Linux   Unix   Windows等操作系统

-支持Python  Java  Perl  PHP等编程语言

应用环境

-LAMP平台,与Apache  HTTP  Server组合

-LNMP平台,与Nginx组合

 

5. MySQL安装

准备环境

1.CentOS系统虚拟机1台

2.配置IP地址 (192.168.4.50)  "我这配置的是192.168.4.50"

3.关闭防火墙 (firewalld)

4.把SElinux禁了

5.下载安装包RPM包  (官网下载 http://dev.mysql.com/downloads/mysql)如下包都得下载

mysql-community-client  //客户端应用程序

mysql-community-common  //数据库和客户端库共享文件

mysql-community-devel  //客户端应用程序的库和头文件

mysql-community-embedded  //嵌入式函数库

mysql-community-embedded-compat  //嵌入式兼容函数库

mysql-community-embedded-devel  //头文件和库文件作为Mysql的嵌入式

mysql-community-libs   //MySQL 数据库客户端应用程序的共享库

mysql-community-libs-compat  //客户端应用程序的共享兼容库

6.YUM配置好

一  安装软件

提示: 必须安装的软件包server   client

]# tar -xvf mysql-5.7.17.tar

]# yum -y install mysql-community-*.rpm
]# rpm -qa |  grep -i mysql

二 启动服务

提示:  首次启动服务,会执行数据初始化

~]# systemctl start mysqld  //启动服务
~]# systemctl enable mysqld  //开启运行
 ~]# systemctl status mysqld  //查看状态

● mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: active (running) since 三 2019-09-11 11:49:49 CST; 9h ago

 ~]# netstat -unltp | grep :3306  //查看服务信息
 ~]# ps -C mysqld    //查看进程

三 相关参数

软件安装后自动创建相关目录与文件

文件说明
/etc/my.cnf只配置文件
/var/lib/mysql数据库目录
默认端口号3306
进程名mysqld
传输协议TCP
进程所有者mysql
进程所属组mysql
错误日志文件/var/log/mysqld.log

四 MySQL初始配置

上边步骤配置好;下边配置如下:

数据库管理员名为 root

-默认仅允许root本机连接

-首次登录在安装软件时随机生成

-随机密码存储在日志文件 /var/log/mysqld.log  里

-连接命 mysql  -h数据库地址 -u用户  -p密码

]# grep 'password'  /var/log/mysqld.log    //查看随机密码

]# mysql  -hlocalhost   -urooot    -p'mtoa>AV<p6Yk'   //连接

mysql>  alter  user root@"localhost"   identified by "密码"

]#   mysql   -hlocalhost   -uroot  -p密码    //使用新密码登录

五 修改密码策略

策略名称验证方式
0 or  LOW长度
1  or   MEDIUM(默认)长度;数字,小写/大写,和特殊字符;
2  or      STRONG 长度;数字小写/大写和特殊字符;字典文件

mysql>  show  variables  like  "%password%";   //查看变量

mysql>  set global   validate_password_policy=0;   //修改密码策略

mysql>  set  global   validate_password_length=6;  //修改密码长度

]#  vim /etc/my.cnf   //永久配置

[mysqld]

validate_password_policy=0

validate_password_length=6

:wq   // 保存并退出

六 库管理命令

库类似与文件夹,用来存储表

-可以创建多个库,通过库名区分

-show  databases;   //显示已有的库

- select  user();                 // 显示连接用户

- use  库名;      //切换库

- show   database();   //显示当前所在的库

-  create database  库名;  // 创建新库

-  show  tables;     //显示已有的表

-  drop   database  库名;  //删除库

七 库名命名规则

-仅可以使用数字  字母  下划线  不能纯数字

-区分大小写  具有唯一性

-不可以使用指定关键字  特殊字符

mysql>  create  database  DB1;

Query  OK,1 row  affected (0.06 sec)

mysql> create database db1;
Query OK, 1 row affected (0.51 sec)

八  表管理命令

-表存储数据的文件

mysql>  create table  库名.表名(

   字段1 类型(宽度),

   字段2 类型(宽度),

)DEFAULT   CHARSET =utf8;  //指定中文字符集,可以给字段赋值中文

mysql> create table db1.a(
    -> name  char(15),
    -> homeaddr  char(20));
Query OK, 0 rows affected (0.09 sec)

九  表管理命令

表类似于文件

-desc  库名.表名;  //查看表结构

-drop  table  库名.表名  //删除表

mysql> desc db9.a;
+-------+---------+------+-----+---------+-------+
| Field | Type    | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| id    | int(11) | YES  |     | NULL    |       |
+-------+---------+------+-----+---------+-------+
1 row in set (0.00 sec)
十  记录管理命令

-select   *    from 库名.表名;  //查看表记录

-insert     into   库名.表名  values(列表值);  //插入表记录

-update 库名.表名 set  字段=值;    //修改表记录

-delete  from  表名;          //删除表记录

mysql>   insert  into  db1.stuinfo   values("jim","usa"),("lilei","china");

mysql>   select  *   from    db1.stuinfo;

mysql>   update  db1.stuinfo   set  homeaddr=  "beijing";

十一  常见信息种类

数值型

字符型

枚举型

日期时间型

定长char

定长:char (字符个数)

-最大字符个数255

-不够指定字符个数时在右边用空格补全

-字符个数超出时,无法写入数据

mysql> creat    table   db1.t1(

name  char(5),

homedir   char(50));

mysql>  insert  into   db1.t1  values("bob","USA");

变长varchar

变长:varchar(字符个数)

-按数据实际大小分配存储空间

-字符个数超出时,无法写入数据

-大文本类型:text/blob

-字符数大于65535存储时使用

mysql>  create   table  db1.t2(

name   char(5),

email  varchar(30)

);

mysql>   insert    into  db1.t2  values("lucy","lucy@tedu.cn");

十二  数值类型 

整数型

-只能存储整数

类型名称有符号范围

无符号范围

tinyint微小整数-128~1270~255
smallint小整数 -32768~327670~65535
mediumint中整型

(-8 388 608,8 388 607)

(0,16777215)
int大整数型(-2 147 483 648,2 147 483 647)(0,4 294 967 295)
bigint极大整型(-9 233 372 036 854 775 808,9 223 372 036 854 775 807)(0,18 446 744 073 709 551 615)
unsigned 使用无符号存储范围 

十三  f浮点型

浮点型

-格式1:字段吗  类型;

-格式2:字段名  类型(总宽度,小数位数)

类型名称有符号范围无符号范围
float单精度

-3.402523466E+38到

-1.175494351E-38

1.175494351E-38到

3.402823466E+38

double双精度

-1.797631348623157E+309到

2.2250738585072014E-308

2.2250738585072014E-308到

1.7976931348623157E+308

日期时间类型

-日期时间 datetime

-范围:1000-01-01 00:00:00~9999-12-31 23:59:59

-格式:yyyymmddhhmmss

日期时间 timestamp

-范围:1970-01-01  00:00:00~2038-01-19 00:00:00

-格式:yyyymmddhhmmss

日期 date

-范围:0001-01-01~9999-12-31

-格式:yyyymmdd

年 year

-范围:1901~2155

-格式:yyyy

时间  time

-格式: HH:MM:SS

 

关于日期时间字段

-当为给timestamp字段赋值时,自动以当前系统时间赋值,而datetime值为NULL (空)

year 类型

-要求使用4位数赋值

-当使用2位数赋值时

-01~69视为 2001~2069

-70~99视为 1970~1999

 

时间函数

-MySQL服务内置命令

-可以使用时间函数给字段赋值

类型用途
curtime()获取当前的系统时间
curdate()

获取当前的系统日期

now()获取当前系统日期和时间
year()获取年
month()获取月
day()获取日
date()获取日期
time()获取时间

枚举类型

enum

-enum 单选:

-格式:字段名  enum(值1,值2,值N)

-仅能选择一个值

-字段必须在列表里选择

mysql>  create  table db1.t5(name  char(5), sex  enum("boy",  "girl",  "no"));

mysql>  insert   into  db1.t5  values("bob",  "man");

set

set多选

-格式:字段名  set(值1,值2 值N)

-选择一个或多个

-字段值必须在列表里选择

mysql>  create  table  db1.t6(name char(5),  like  set("eat", "game", "music", "money"));

mysql>  insert  into  db1.t6  values( "jerry",  "eat,film");

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值