mysql 数据库服务概述 构建MySQL服务器 数据库基本管理 MySQL数据类型

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql 数据库服务概述 构建MySQL服务器 数据库基本管理 MySQL数据类型 相关的知识,希望对你有一定的参考价值。

08:30------09:00
09:00------12:00
ftp服务器:172.40.50.117 7000
软件 softpackage/mysql
笔记 nsd1710/课程名称
练习 homework

庞丽静 静静老师
第四阶段:
数据库管理 7天 DBA
安全与监控 6天 IDC监控
集群与存储 5天
+++++++++++++++++++++
数据库管理:
一 搭数据库服务器
二 MySQL数据库服务的基本管理
三 数据管理
四 用户授权与权限撤销
五 数据备份与恢复
六 MySQL主从同步
七 数据读写分离
八 MySQL服务调优
九 部署MySQL集群
++++++++++++++++++++++++++++
day01:
一 搭数据库服务器 : 1 搭建MySQL数据服务器 2 基本使用
二 MySQL数据类型 *
三 修改表结构

一 搭数据库服务器 192.168.4.51
1.1 购买服务器 DELL HP 联想(IBM)
CPU 内存 磁盘

1.2 安装操作系统 Windows Linux Unix
rhel7
rhel6

1.3 安装提供数据库服务的软件
数据库服务软件有哪些?
软件是否跨平台
软件是否开源 商业软件
软件的来源
软件的封包类型 rpm 源码

1.4 安装mysql软件
1.4.1 卸载系统自带的mariadb
1.4.2 安装MySQL
1.4.3 启动服务:
服务名称 进程名称 端口号 传输协议 进程所有者 进程所属组 数据库目录

1.5 哪些公司在使用数据库服务
金融机构 购物网站 游戏网站 论坛网站

1.6 网站服务和数据库服务一起使用
LAMP LNMP
+++++++++++++++++++++++++++++++++++++++++++
1.7 把数据存储到数据库服务器上过程
1 连接数据库服务器
2 建库
3 建表
4 插入记录
5 断开连接

  1. 连接数据库服务器:
    使用初始密码登录数据库服务器
    修改密码验证策略和密码长度、修改密码
    使用修改后的密码登录
    修改服务的主配置文件使用密码验证策略永久生效。

*库和表都是以文件的形式存储在数据库库目录下的。

  1. 建库(文件夹) 查看 创建 删除 切换
    显示当前所在的库
    查看库里已有的表
  • 表必须在库里
    1. 建表(文件)查看 创建 删除
      字段

      姓名 性别 班级
      jim boy nsd1710 行 记录
      tom boy nsd1710

商品名称 价格 生产厂家 个数 尺寸

create table 库名.表名(
字段名 类型(宽度) 约束条件,
字段名 类型(宽度) 约束条件,
.....
);

create database studb;
create table studb.stuinfo(
name char(15),
sex char(4),
class char(7)
);

查看表结构 desc studb.stuinfo;

  1. 插入记录 : 查看 插入 删除 修改记录 select * from 库.表;

insert into studb.stuinfo values("jim","boy","nsd1710");

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

delete from 库.表;

  1. mysql> quit

+++++++++++++++++++++++++++++++++++++++++++++
SQL语法规则?
sql命令分类型: DDL DML DCL DTL
库名命名规则?
+++++++++++++++++++++++++++++++++++++++++++++
二 MySQL数据类型 *
数值类型:身高 体重 成绩 年龄 工资 unsigned
整数类型:微小整型 小整型 中整型 大整型 极大整型

浮点类型:单精度 双精度

create database db1;
create table db1.t1(level tinyint);
create table db1.t2(level tinyint unsigned);
create table db1.t3(level int unsigned);

整数.小数 总位数
字段名 类型(n,m)
n 总位数
m 小数位位数
pay double(8,2)
pay float(8,2)
xxxxx.xx
999999.99
-999999.99
create table db1.t4( pay float(5,2), age tinyint unsigned);
insert into db1.t4 values(900.23,27);

mysql>desc mysql.user;

字符类型:姓名 家庭地址 籍贯 公司 部门名称
固长 char (255) *
变长 varchar (65532)
大文本类型 blob text

create table db1.t6(name char(256) , image blob );

create table db1.t7(
name char(10),
email varchar(30),
pay float(5,2),
age tinyint unsigned
);

insert into db1.t7 values ("bob","[email protected]",999.23,27);

char类型与varchar类型的区别

 t1     t2

name name
char(3) varchar(3)
jim jim
ab ab
c c

mysql>desc mysql.user;

数值类型的宽度与字符类型宽度的区别。数值类型的宽度是显示宽度,不能够控制给字段赋值的大小,大小由类型。
create table db1.t9(
name char(3),
pay int(3)
);
insert into db1.t9 values ("lucy",1088);

create table db1.t10 (
id int zerofill,
pay int(3) zerofill
);
insert into db1.t10 values (9,9);
insert into db1.t10 values (27,27);

+++++++++++++++++++++++++++++++++++++++++
日期时间类型: 入职时间 注册时间 约会时间 上课时间 生日
年 year YYYY 2018
日期 date YYYYMMDD 20180117
时间 time HHMMSS 173258
日期时间 datetime / timestamp
YYYYMMDDHHMMSS
create table db1.t12 (
name char(10),
youstar year,
upclass time,
birthday date,
party datetime
);

insert into db1.t12 values ("bob",1995,083000,20181120, 20180214183000);

使用时间函数获取的时间给字段赋值。
now() year() date() time() day() month()

insert into db1.t12 values ("lucy",year(20191212),083000,date( now() ), now());

使用2位数字给year类型的字段赋值。遵循如下规律:
01~69 20XX
70~99 19XX
00 0000

create table db1.t13 (
name char(10),
youstar year
);

insert into db1.t13 values("bob",53);
insert into db1.t13 values("tom",88);

datetime 与 timestamp 区别:
create table db1.t14(
meetting datetime,
party timestamp
)

insert into db1.t14 values(now(),now());
insert into db1.t14(meetting) values(20171222092835);
insert into db1.t14(party) values(20161222092835);
++++++++++++++++++++++++++++++++++++++++++
枚举类型: 爱好 性别 专业

  • 字段的只能在指定的范围内选项
    字段名 enmu(值1 ,值2, 值N ) 单选
    字段名 set(值1 ,值2, 值N ) 多选

create table db1.t21(
name char(10),
sex enum("boy","girl"),
likes set("game","music","film","book")
);

insert into db1.t21 values("bob","boy","game,film");
insert into db1.t21 values("tom","man","game,film,it");
insert into db1.t21 values("lucy",2,"game,film,book");

字段约束条件
作用:限制如何给字段赋值
包括: 是否允许为空null 键值 默认值 额外设置

create table db1.t22(
name char(10) not null,
sex enum("boy","girl") default "boy" ,
age tinyint(2) unsigned not null default 18,
likes set("game","music","film","book") not null default "game,music"
);
desc db1.t22;
insert into t22(name) values("alice");
insert into t22 values("bob","boy",21,"book");

insert into t22(name)values("null","");
insert into t22(name)values(null);
+++++++++++++++++++++++++++++++++++
三 修改表结构
alter table 库.表 执行动作;

添加新字段
add 字段名 类型(宽度);
add 字段名 类型(宽度) 约束条件;
add 字段名 类型(宽度) 约束条件 first;
add 字段名 类型(宽度) 约束条件 after 字段名;
add 字段名 类型(宽度),add 字段名 类型(宽度);
删除已有字段
drop 字段名;
drop 字段名,drop 字段名;

修改字段类型 (修改的类型与字段存储的数据冲突,不允许修改)
modify 字段名 类型(宽度) 约束条件;

修改字段名
change 源字段名 新字段名 类型(宽度) 约束条件;
修改表名 alter table 源表名 rename 新 表名;
alter table db1.t21 add email varchar(30) default "[email protected]";
alter table db1.t21 add stu_id char(9) first;
alter table db1.t21 add age tinyint(2) unsigned not null default 18 after name;
alter table db1.t21 drop age;
alter table db1.t21 modify stu_id char(9) not null;
alter table db1.t21 modify name varchar(10) not null;
alter table db1.t21 modify likes set(‘game‘,‘music‘,‘film‘,‘book‘) after name;
alter table db1.t21 change email mail varchar(30) default "[email protected]";
alter table t21 rename stuinfo;
system ls /var/lib/mysql/db1/stuinfo.*

                     varchar(15)

学号 班级 姓名 年龄 爱好 性别 出生年份
stu_id class name age like sex s_year
19 book no 1998
game not null
film

以上是关于mysql 数据库服务概述 构建MySQL服务器 数据库基本管理 MySQL数据类型 的主要内容,如果未能解决你的问题,请参考以下文章

MySQL 复制 - 性能与扩展性的基石 1:概述及其原理

构建MySQL-Cluster

MYSQL数据库主从复制

MySQL高可用主从复制简介

Centos7构建LAMP平台

Mysql主从复制原理及配置