mysql 数据库服务概述 、 构建MySQL服务器 、 数据库基本管理 、 MySQL数据类型 、
08:30------09:0009:00------12:00
ftp服务器:172.40.50.117 7000
软件softpackage/mysql
笔记nsd1710/课程名称
练习homework
庞丽静 静静老师
第四阶段:
数据库管理 7天 DBA
安全与监控 6天 > 集群与存储 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 断开连接
[*]连接数据库服务器: 使用初始密码登录数据库服务器
修改密码验证策略和密码长度、修改密码
使用修改后的密码登录
修改服务的主配置文件使用密码验证策略永久生效。
*库和表都是以文件的形式存储在数据库库目录下的。
[*]建库(文件夹)查看创建删除 切换 显示当前所在的库
查看库里已有的表
[*]表必须在库里
[*]建表(文件)查看创建删除 字段
列
姓名 性别班级
jim boynsd1710行记录
tom boynsd1710
商品名称 价格 生产厂家 个数 尺寸
createtable库名.表名(
字段名 类型(宽度) 约束条件,
字段名 类型(宽度) 约束条件,
.....
);
create database studb;
createtablestudb.stuinfo(
name char(15),
sex char(4),
class char(7)
);
查看表结构 desc studb.stuinfo;
[*]插入记录 : 查看 插入 删除修改记录 select*from库.表;
insertintostudb.stuinfo values("jim","boy","nsd1710");
update库.表 set字段名=值where条件;
deletefrom库.表;
[*]mysql> quit
+++++++++++++++++++++++++++++++++++++++++++++
SQL语法规则?
sql命令分类型: DDLDMLDCLDTL
库名命名规则?
+++++++++++++++++++++++++++++++++++++++++++++
二 MySQL数据类型*
数值类型:身高体重 成绩年龄工资 unsigned
整数类型:微小整型小整型中整型大整型极大整型
浮点类型:单精度 双精度
createdatabase db1;
createtabledb1.t1(level tinyint);
createtabledb1.t2(level tinyintunsigned);
createtabledb1.t3(level intunsigned);
整数.小数 总位数
字段名 类型(n,m)
n总位数
m 小数位位数
pay double(8,2)
pay float(8,2)
xxxxx.xx
999999.99
-999999.99
createtabledb1.t4( pay float(5,2), agetinyint unsigned);
insert intodb1.t4 values(900.23,27);
mysql>desc mysql.user;
字符类型:姓名家庭地址籍贯公司 部门名称
固长 char(255) *
变长 varchar (65532)
大文本类型blob text
createtabledb1.t6(namechar(256) , imageblob );
createtabledb1.t7(
namechar(10),
emailvarchar(30),
pay float(5,2),
agetinyint unsigned
);
insert into db1.t7values("bob","bob@163.com",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(
namechar(3),
pay int(3)
);
insert into db1.t9values ("lucy",1088);
create table db1.t10 (
id int zerofill,
pay int(3)zerofill
);
insert intodb1.t10 values (9,9);
insert intodb1.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
);
insertinto db1.t12values ("bob",1995,083000,20181120, 20180214183000);
使用时间函数获取的时间给字段赋值。
now() year() date() time()day()month()
insertinto db1.t12values ("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.t13values("bob",53);
insert into db1.t13values("tom",88);
datetime 与 timestamp 区别:
createtabledb1.t14(
meetting datetime,
party timestamp
)
insert intodb1.t14values(now(),now());
insert intodb1.t14(meetting)values(20171222092835);
insert intodb1.t14(party)values(20161222092835);
++++++++++++++++++++++++++++++++++++++++++
枚举类型:爱好 性别 专业
[*]字段的只能在指定的范围内选项 字段名 enmu(值1 ,值2, 值N ) 单选
字段名 set(值1 ,值2, 值N ) 多选
createtabledb1.t21(
namechar(10),
sex enum("boy","girl"),
likes set("game","music","film","book")
);
insert intodb1.t21values("bob","boy","game,film");
insert intodb1.t21values("tom","man","game,film,it");
insert intodb1.t21values("lucy",2,"game,film,book");
字段约束条件
作用:限制如何给字段赋值
包括: 是否允许为空null 键值 默认值额外设置
createtabledb1.t22(
namechar(10) not null,
sex enum("boy","girl") default"boy" ,
age tinyint(2) unsignednotnulldefault18,
likes set("game","music","film","book")notnulldefault "game,music"
);
descdb1.t22;
insert intot22(name) values("alice");
insert intot22 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 源字段名新字段名类型(宽度)约束条件;
修改表名> altertable db1.t21add email varchar(30) default"student@tedu.cn";
altertable db1.t21addstu_id char(9)first;
altertable db1.t21addagetinyint(2) unsignednotnulldefault 18aftername;
altertabledb1.t21 dropage;
altertabledb1.t21 modify stu_id char(9)not null;
altertabledb1.t21 modify name varchar(10) not null;
altertabledb1.t21 modify likesset('game','music','film','book') after name;
altertabledb1.t21changeemail mail varchar(30) default"student@tedu.cn";
altertablet21rename stuinfo;
system ls /var/lib/mysql/db1/stuinfo.*
varchar(15)
学号 班级 姓名 年龄 爱好 性别 出生年份
stu_id > 19 book no 1998
game not null
film
页:
[1]