Mysql笔记-day02

本文介绍了在Linux中创建文件的三种方法(touch、vim编辑及echo命令)、文件查看工具(cat, more, less, tail)、tar归档与解压,以及部署MySQL的步骤,包括安装、编辑权限和数据库操作。
摘要由CSDN通过智能技术生成

一.创建文件(三种方式)

1.touch xxx

[root@st10 ~]# touch 1.log

2. vim/vi xxx  [编辑文件的名命令]

[root@st10 ~]# vim 2.log

3.echo "xxx" > 3.log

echo "xxx" => 控制台打印

>  =》 创建或者覆盖一个文件

>> =>  追加到一个文件

echo "xxx" >> 3.log

二.vim 编辑文件+文件里面添加内容

vim 命令:

三种模式:

命令行模式

编辑模式

尾行模式

编辑一个文件:

1.打开文件 vim 1.log  => 命令行模式

2.编辑文件 【往文件里面添加内容】 =》

命令行模式 -> 编辑模式

i

添加内容

3.退出保存 =》 编辑模式

 编辑模式  =》 命令行模式 =》尾行模式

esc   =》

 尾行模式【保存退出】:

  1.进入尾行模式 : shift+; => :

  w 保存

q 退出

! 强制

三.查看文件(4个)

1.cat xxx  文件内容全部显示  【查看文件内容比较少】

[root@st10 ~]# cat 1.log

2.查看大文件

more  xxx 文件内容一页一页往下翻  按 空格往下翻  q退出 ctrl+ c   ctrl+ z

less  xxx 文件内容一页一页往下翻  按 空格往下翻  q退出 ctrl+ c   ctrl+ z  

3.实时查看

tail -f / -F  xxx  

f

F = f+ retry  

四.tar归档文件

1.log 2.log 3.log  => xxx.tar  => xxx.tar.gz

linux:

gzip

1.创建归档文件

[root@st10 ~]# tar -cf log.tar 1.log 2.log 3.log

1.加 一个 压缩

[root@st10 ~]# tar -zcf log.tar.gz 1.log 2.log 3.log

2.用户有感知 -v

tar -zcvf log1.tar.gz 1.log 2.log 3.log

2.取出归档文件里面的文件

[root@st10 ~]# tar -xf log.tar -C ./bigdata/

1.取出一个 压缩

[root@st10 ~]# tar -zxf log.tar.gz -C ./dir1/

2.用户有感知 -v

tar -zxvf log1.tar.gz -C ./dir2/

gz:

-z  

-zxvf  取出

-zcvf  创建

普通:

-xvf  取出

-cvf  创建

linux 安装软件:

1.rpm

2.yum

3.tar

软件:

1.配置文件

rpm -qa  查询linux下 有哪些 rpm的包

| 管道符 =》 上一个命令的结果作为下一个命令的输入

grep 过滤

五.linux 部署mysql

1.安装包

1.解压

[root@st10 ~]# tar -xvf ./mysql-8.0.21-1.el7.x86_64.rpm-bundle.tar -C ./mysql

2.卸载 linux自带的 mysql 子类包

1).查询:

rpm -qa|grep mariadb

2).卸载

rpm -e --nodeps  mariadb-libs

再次查看:

rpm -qa|grep mariadb

3.安装

rpm -ivh mysql-community-common-8.0.21-1.el7.x86_64.rpm

rpm -ivh mysql-community-libs-8.0.21-1.el7.x86_64.rpm

rpm -ivh mysql-community-libs-compat-8.0.21-1.el7.x86_64.rpm

rpm -ivh mysql-community-client-8.0.21-1.el7.x86_64.rpm

rpm -ivh mysql-community-server-8.0.21-1.el7.x86_64.rpm

4.启动

mysql日志文件:/var/log/mysqld.log

1).mysql 初始化

mysqld --initialize --user=mysql

2).启动mysql

systemctl start mysqld

 mysql对外服务的端口:

  port: 3306

5.登录mysql

mysql -uroot -pUJsboU3cqD.r

需要转义: (

mysql -uroot -p\(

mysql:

database 库    文件夹

table 表 excel

6.修改密码

alter user root@localhost identified by '123456';

7.远程连接

1).修改mysql 任意ip都可以访问

update mysql.user set host='%' where user='root';

2).刷新权限

flush privileges;

3).关闭防火墙

systemctl stop firewalld

systemctl disable firewalld

4).远程登录的软件

netcat

dbvear

10.win

MySQL语法:

database =》 数据库   文件夹

table =》 表 excel

table:

1).列名 column

2).列的类型  type

1.字段类型:

数值类型 :

int  整型

long  长整型

float  单精度

double 双精度

decimal 小数值   钱有关的

字符串:

char 字节      定长  0-255    bigdataxxxxxx  自动补齐的

varchar 字符串 变长 0-65535   bigdata

text

日期:

date 日期 YYYY-MM-DD

time 时间 HH:MM:SS

datetime 年月日时分秒 YYYY-MM-DD HH:MM:SS

timestamp 年月日时分秒 YYYY-MM-DD HH:MM:SS

2.sql类型

ddl 数据定义语言:create drop alter

dml  数据操作语言: select insert update delete 增删查改

dcl  数据控制语言: grant 【不需要掌握】

3.基本语法 【sql】

database

table

1).创建数据库

CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name

    [create_option] ...

create_option: [DEFAULT] {

CHARACTER SET [=] charset_name

| COLLATE [=] collation_name

| ENCRYPTION [=] {'Y' | 'N'}

}

create database zl;

2).查看数据库

show databases;

3).创建一个表

CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name

    (create_definition,...)

    [table_options]

    [partition_options]

4).切换数据库

use bigdata;

create TABLE student(

id int(11),

name varchar(20),

age int(3)

);

5).查看库下面的表

show tables;

6).补充 建表:

create TABLE student(

id int(11),

name varchar(20),

age int(3)

);

create TABLE student_info(

id int(11) NOT NULL  AUTO_INCREMENT,

name varchar(20) COMMENT '姓名',

age int(3),

create_user varchar(20),

create_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,

update_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,

PRIMARY KEY(id)

);

注意:

1.表名称 一定要写英文

2.建表风格

3.第一字段 使用自增主键 【本身没有任何业务意义】

4.字段 要加上注释

7.insert 插入数据

INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE]

    [INTO] tbl_name

    [(col_name [, col_name] ...)]

    { {VALUES | VALUE} (value_list) [, (value_list)] ... }

insert into bigdata.student_info(name,age) VALUES ('俊松',18);

insert into bigdata.student_info(name,age) VALUES ('junsong',18),("xinyu",38);

8.查看表中数据

select

select_expr => [ column  ]

from bigdata.student_info

where   [ 过滤]

*  [ 代表所有字段]

select

*

from bigdata.student_info;

select

name,age

from bigdata.student_info

9.update 更改数据  【 注意:是否要加 where 】

UPDATE [LOW_PRIORITY] [IGNORE] table_reference

    SET assignment_list

    [WHERE where_condition]

    [ORDER BY ...]

    [LIMIT row_count]

update bigdata.student_info set age=20 where name='zhangli';

update bigdata.student_info set age=20 ;

10.delete 语句  删除某条数据  【 注意:是否要加 where 】

DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM tbl_name [[AS] tbl_alias]

    [PARTITION (partition_name [, partition_name] ...)]

    [WHERE where_condition]

    [ORDER BY ...]

    [LIMIT row_count]

delete FROM bigdata.student_info where name='zhangli';

delete FROM bigdata.student_info;

6.其他语法

1.where  【过滤条件】  

where  column expresion

1.>  <  =  and or  in  not in

insert into bigdata.student_info(name,age) VALUES ('张莉',18);

insert into bigdata.student_info(name,age) VALUES ('zhangli',18),("xueqing",38);

insert into bigdata.student_info(name,age) VALUES ('zhangli',18),("java",38);

insert into bigdata.student_info(name,age) VALUES ('lb',18),("lb01",38);

insert into bigdata.student_info(name,age) VALUES ('lb02',18),("qqg",38);

insert into bigdata.student_info(name,age) VALUES ('lb',20);

insert into bigdata.student_info(name,age) VALUES ('lb',30);

select

*

from bigdata.student_info

where age <20;

select * from bigdata.student_info where name='lb' and age=18;

select *  from bigdata.student_info where name='lb' or  age=38;

select *  from bigdata.student_info where name in ("张莉",'zhangli');

2.order by  排序语法

select * from bigdata.student_info order by age asc;

select * from bigdata.student_info order by age desc;

select * from bigdata.student_info order by age desc;

select * from bigdata.student_info order by age desc,name asc;

3.like 语法 【 regexp 】

模糊查询 :

1.% 模糊

2._ 占位符

select *  from bigdata.student_info where name like "%j%";

select *  from bigdata.student_info where name like "_b%";

4.合并表

union 去重  

union all  不去重

create table a(id int,name varchar(20));

create table b(id int,name varchar(20));

insert into a VALUES(1,'zl');

insert into b VALUES(1,'zl');

insert into b VALUES(2,'xq');

select *  from a

union  

select *  from b ;

select *  from a

union  all

select *  from b ;

5.null 语法

insert into bigdata.student_info(name,age,create_user) VALUES ('lb',30,"arsd");

1.过滤空值 :

null

''

'null'

is null :

select *  from student_info where create_user is null;

is not null :

2.处理空值 : etl 数据清洗

null =》

1.数值类型 0

2.字符串  unknown 、 --

select *,处理空值的函数(create_user) as create_user_etl  from student_info;

处理空值的函数:

ifnull

coalesce

select *,ifnull(create_user,'--') as create_user_etl  from student_info;

select name,age,create_user,coalesce(create_user,'--') as create_user_etl  from student_info;

6.聚合函数(分组的语法)

1.分组 : group by xxx,...   [以谁进行分组]

2.聚合函数  sum avg max min count

1.不加分组  =》 全表 =》聚合函数 =》 指标

平均年龄

select avg(age) as avg_age from student_info;

2.分组+ 聚合函数

select name, avg(age) as avg_age from student_info  group by name;

原本数据:

俊松

zhangli

xueqing

zl

java

lb

lb01

lb02

qqg

lb

lb

lb

分组+聚合函数【统计指标】=》

1.分组

lb,<20,30,30>

zhangli,<18>

lb02,<20>

2.聚合函数【统计指标】  avg

lb , 80/3

zhangli ,18/1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值