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","bo[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

原文地址:http://blog.51cto.com/13478354/2064352

时间: 2024-10-11 13:01:55

mysql 数据库服务概述 、 构建MySQL服务器 、 数据库基本管理 、 MySQL数据类型 、的相关文章

mysql启动停止,一台服务器跑 多个mysql数据库

一.以非特权用户运行MySQL服务器在讨论如何启动MySQL服务器之前,让我们考虑一下应该以什么用户身份运行MySQL服务器.服务器可以手动或自动启动.如果你手动启动它, 服务器以你登录Unix(Linux)的用户身份启动,即如果你用paul登录Unix并启动服务器,它用paul运行:如果你用su命令切换到root,然后运启动服务器,则它以root运行.然而,大多数情况下你可能不想手动启动服务器,最有可能是你安排MySQL服务器在系统引导时自动启动,作为标准引导过程的一部分,在Unix下,该引导

使用Mysql.data.dll文件在服务器上运行访问Mysql

我使用的这个Mysql.data.dll文件 web.config上面主要需要声明以下代码 1 <system.data> 2 <DbProviderFactories> 3 <add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient1" description=".Net Framework Data Provider for MySQL" t

mysl 数据库 表 管理【创建 删除 修改 改名 引擎】

mysl 数据库 表 管理 MySQL中字符大小写: 1.SQL关键字及函数名不区分字符大小写: 2.数据库.表及视图名称的大小区分与否取决于低层OS及FS 3.存储过程.存储函数及事件调度器的名字不区分大小写,但触发器区分: 4.表别名区分大小写: 5.对字段中的数据,如果字段类型为Binary类型,则区分大小写:非Binary不区分大小写: [库]: mysql> help create database; Name: 'CREATE DATABASE' Description: Synta

rsyslog + mysql + loganalyzer 构建日志服务器

rsyslog支持的特性 支持多线程 支持tcp,ssl,tls.relp 可以把日志存储于关系型数据库中 支持过滤器,可以实现过滤日志中的任意部分. 支持自定义格式 适用于企业级的日志记录需求. 功能模块化 rsyslog用facility接收各个应用和程序的日志,并把日志分类.有以下几类 auth        与认证相关的 authpriv 与用户认证授权相关的,如用户登陆 cron     与周期任务相关的 daemon    与守护进程相关的 kern        与内核相关的 lp

CentOS6.7下使用非root用户(普通用户)编译安装与配置mysql数据库并使用shell脚本定时任务方式实现mysql数据库服务随机自动启动

CentOS6.7下使用非root用户(普通用户)编译安装与配置mysql数据库并使用shell脚本定时任务方式实现mysql数据库服务随机自动启动1.关于mysql?MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司.MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性.特点: Mysql是开源的,所以你不需要支付额外的费用.Mysql支持大型的数据库.可以处理拥有上千

构建高可用服务器之三 Keepalive均衡Mysql

实验目的: 通过Keepalive来构建Mysql的高可用.Mysql已做主从,当一台Mysql宕机的时候不影响对Mysql的调用. 实验环境: 两台Mysql服务器(基于LAMP且已做主从),两台Mysql服务器都通过Apache发布Discuz论坛(discuz调用的是主mysql地址). 身份            主机名      IP地址 主Mysql           master      192.168.1.3 从Myslq           slave        192

服务器数据库挂掉 Can &#39;t connect to local MySQL server through socket &#39;/var/lib/mysql/mysql.sock &#39;(2) &quot;;

刚刚遇到这个报错,我无语了,我这么个菜逼,咋解决,还好师兄(付付)解决了,付付真棒,在此记录一下,以供学习 Can 't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock '(2) "; 1.查日志(首先还是看error.log),我看了一遍,继续急,师兄看了一遍 2. can't create /write to file 'tmp'  ,fk,就是/tmp的权限问题,害我干着急 3.报这个错误的原因

服务器用JDBC对mysql数据库进行操作

1:获取数据库连接 Connection connection=getConnection(); 2:准备SQL语句 3:调用Connection的creatStatement()方法获取Statement对象执行SQL语句 (注:Statement对象处理的SQL语句只能是INSERT,UPDATE或DELETE) statement=connection.createStatement(); statement.execute(SQL); 4:关闭Statement对象 5:关闭数据库连接

CentOS7+MySQL/MariaDB+Galera+HAProxy+Keepalived构建高可用数据库集群

方案优势: Galera能够实现MySQL/MariaDB数据库的主主复制和多主复制等模式,这些复制模式都是同步进行的,同步时间非常短 每一个节点都可以同时写入和读取,当某一节点发生故障时,可自动从集群中自动剔除 HAProxy能提供负载均衡和故障判断等功能解决服务器系统存在的单点故障 Keepalived能提供客户端连接数据库时使用的虚拟IP地址(VIP) 关于HAProxy的负载均衡算法 轮询方式(roundrobin):不适合用于backend为web服务器的情况,因为session.co