mysql 基本操作

环境准备
克隆一台新的rhel7虚拟机
配置yum源
关闭防火墙
禁用selinux
配置好ip地址
++++++++++++++++++++++



一、基础入门
1.1 什么是数据库?是一种服务,存储数据的仓库
1.2 提供服务的软件有那些?
Mysql Oracle SQL SERVER mongodb DB2

选软件考虑的因素?
是否跨平台 (Linux Unix Windows)
Redhat

开源软件 or 商业软件

即开源又跨平台?

软件包的来源? 从官网下载 安装光盘自带
mysql mariadb-server

软件的封包类型? rpm 源码包

1.3 搭建MYSQL数据库服务器并设置数据库管理员本机登录的

密码为123456
a 购买服务器(存储 CPU 内存) DELL HP 联想
b 安装操作系统RHEL7.2
c 安装提供数据库服务的软件包(mysql)
# rpm -qa | grep -i mariadb
# rpm -e --nodeps mariadb-libs
# rpm -qa | grep -i mariadb
#rm -rf /etc/my.cnf
#yum -y install perl-Data-Dumper perl-JSON
# tar -xvf xxxx.tar
# rm -rf mysql-community-server-minimal-5.7.17-

1.el7.x86_64.rpm
#rpm -Uvh mysql-community-*.rpm
#rpm -qa | grep -i mysql
#systemctl start mysqld
#systemctl status mysqld
#systemctl enable mysqld

服务名 mysqld
进程名 mysqld
进程的所有者/组 mysql/mysql
数据传输协议 tcp
端口号 3306
主配置文件 /etc/my.cnf
数据库目录 /var/lib/mysql
日志文件 /var/log/mysqld.log

客户端访问数据库服务器(命令行 图形工具)
*没有授权时,只允许数据库管理员root用户从本机访问
#mysql -hlocalhost -uroot -p密码

[root@localhost ~]# grep -i "password"

/var/log/mysqld.log
2017-06-19T02:07:11.746572Z 1 [Note] A temporary

password is generated for root@localhost: *?F(sfa;M3jy
[root@localhost ~]#
[root@localhost ~]# mysql -hlocalhost -uroot -p"*?F

(sfa;M3jy"
mysql> set global validate_password_policy=0;
mysql> set global validate_password_length=6;
mysql> alter user root@"localhost" identified by

"123456";
mysql>quit

[root@localhost ~]# mysql -hlocalhost -uroot -

p123456
mysql> show databases;
mysql>quit

vim /etc/my.cnf
[mysqld]
validate_password_policy=0
validate_password_length=6
:wq
# systemctl restart mysqld
#mysql -hlocalhost -uroot -p123456
mysql>

数据库服务通常和网站服务一起使用。LAMP LNMP
购物网站 游戏网站 论坛网站 金融网站 php java html css

数据库存储那些数据?注册帐号和密码
购物信息
储蓄信息
帖子内容

1.4 数据库服务的基本使用
把数据存储到数据库服务器上的过程?
1 连接数据库服务器
mysql -hlocalhost -uroot -p123456
2 创建新库 (文件夹)
3 创建表(文件)
4 向表中插入记录
5 查看记录
6 断开连接

SQL命令使用规则?
每条命令必须以;结尾
命令不区分字母大小写
\c 结束命令


管理库的相关命令
show databases;
create database 库名;
select database();
use 库名;
show tables;
drop database 库名;

管理表的相关命令
create table 表名(字段名 类型(宽度),字段名 类型(宽

度));

mysql> create table regtab(name char(10),password

char(6));

desc 表名;
desc regtab;


帐号名 密码
plj 123456 记录
jim 654331
tom 111199

insert into regtab values("plj","123456"),

("jim","654321"),("tom","111199");

select * from 表名
select * from regtab;

delete from 表名;
delete from regtab;

drop table 表名;
drop table regtab;

表名和库名的命名规则?
具有唯一
区分字母大小写
使用数字 字母 _ 命名 、不允许是纯数字
不允许使用特殊符号 和 命令关键字
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
mysql数据类型
字符类型 姓名 家庭地址 籍贯
char 255 定长
varchar 65532 变长

大文本类型
text
blob

create database studb;
use studb;
create table t1(
name char(10),
homeaddr varchar(50)
);

insert into t1 values("lucy","beijing");
select * from t1;

create table t2(image blob,name text);
t1 t2
name name
char(10) varchar(10)
a abc

数值类型 : 年龄 成绩 身高 体重 工资
11 12.23
+11 -19.23
-12

整型 (根据存储数字的范围又 划分为如下类型)
有符号 无符号
tinyint -128~127 0-255
smallint
MEDIUMINT
int
bigint

create table t5(name char(10) ,age tinyint

unsigned);

create table t6(name char(10) ,age tinyint ,level

tinyint);

create table t7(name char(10) ,age tinyint

unsigned,level tinyint);

insert into t7 values("jim",-11,101);


数值类型的宽度 是显示宽度,不能够控制给字段赋值,字段值的

大小由类型决定。

create table t8(name char(3),level int(3));
insert into t8 values("lucy",10224);

create table t12 (id int(2) zerofill,level int zerofill);
insert into t12 values(9,7);


浮点型 (能存储带小数点的数) 19.23 21.75
float
double

整数.小数
1023.88
xxx.xx
999.99
-999.99
float(5,2)

create table t13 (name char(10),age tinyint(2)

unsigned,pay float(7,2));

insert into t13 values("bob",21,18800.23);
insert into t13 values("tom",29,118800.23);
+++++++++++++++++++++++++++++++
日期时间类型 注册时间 上课时间 开会时间 生日 入职
年 year YYYY 2017
日期date YYYYMMDD 20170619
时间time HHMMSS 160258
日期时间类型YYYYMMDDHHMMSS 20170619160258
datetime
timestamp

create table t14 (
name char(10),
age tinyint(2) unsigned,
pay float(7,2),
s_year year,
birthday date,
up_class time,
meetting datetime
);

insert into t14 values

("bob",21,18800,1990,20170818,083000,20170707204

523);

使用时间函数给日期时间类型字段赋值
now()
year()
date()
month()
day()
time()

insert into t14 values("lilei",21,18800,year(now

()),date(now()),time(20150718231458),now());

insert into t14 values("hanmm",21,18800,now(),now

(),now(),now());

使用2位数字给year字段赋值,要遵循如下规律?
01-69 20XX
70-99 19XX
00 0000
100 报错

insert into t14 values("lee",21,18800,69,now(),now

(),now());


datetime与timestamp 的区别?

create table t15(
meetting datetime,
partty timestamp
);

insert into t15 values(now(),now());
insert into t15(meetting) values(20171020091828);
insert into t15(partty) values(20191020091828);
select * from t15;

+++++++++++++++++++++++++
枚举类型 性别 专业 科目 爱好
(字段值只能在列举的范围内选择)
enum(值列表) 单选
set (值列表) 多选

create table t16 (
name char(10),
age tinyint(2) unsigned,
sex enum("boy","girl","no"),
likes set("it","book","film","game")
);

insert into t16 values("bob",21,"boy","it,game");
insert into t16 values("jim",21,"no","music,game");
insert into t16 values("jerry",21,2,"it,game")

mysql> desc mysql.user;
mysql> desc mysql.tables_priv;


字段约束条件:功能限制如何给字段赋值
Null 字段是否允许赋null值 空 默认允许赋null值
Key 索引
Default 字段的默认值,默认值的值是null
不给字段赋值值使用默认值给字段赋值
default 值

Extra 额外设置(自动增长)

create table t17 (
name char(10) not null ,
age tinyint(2) unsigned default 22 ,
sex enum("boy","girl","no") not null default "boy",
likes set("it","book","film","game") default "it,book"
);

insert into t17(name) values("bob");
insert into t17 values("jim",29,"no","film,game");
insert into t17 values("",NULL,"boy",NULL);
insert into t17 values("NULL",NULL,"boy",NULL);
insert into t17 values(null,NULL,"boy",NULL);

在ip地址是 192.168.4.101上部署数据库服务并设置数据库管理员的密码是abc123 创建studb库 创建存储学生信息的表stuinfo

转载于:https://www.cnblogs.com/fuzhongfaya/p/8952743.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值