perl mysql dml_MySQL 命令整理

本文详细介绍了MySQL的特点、应用场景、SQL命令规则以及数据库和表的管理,包括创建、修改、删除等操作。此外,还讲解了数据导入导出、用户授权与权限管理、密码策略设置等内容,为数据库管理和维护提供了全面的指导。
摘要由CSDN通过智能技术生成

1.mysql的特点及应用

.主要特点:

1.适用于中小规模,关系型数据库系统

2.支持linux,unix,windows等多种操作系统

3.支持python,perl,java,php等编程语言

.典型应用环境

1.LAMP平台 : 与Apache Http server 组合

2.LNMP平台 : 与Nginx 组合

1+.SQL命令使用规则

1.SQL命令不区分字母大小写(密码,变量值除外)

2.每条命令以;结束

3.默认命令不支持Tab键自动补齐

4.Ctrl+c 终止sql命令

2.常用命令

1.主配置文件 : /etc/my.cnf

2.数据库目录: /var/lib/mysql

3.错误日志文件 : /var/log/mysqld.log

4.查看初始密码命令 : grep -i “password” /var/log/mysqld.log

5.链接MySQL命令: mysql -hlocalhost -uroot -p"密码"

6.修改密码命令: alter user user root@“lcoalhost” identified by “密码”;

7.查看密码策略命令 : show variables like “%password%” ;

--------set global validata_password_policy=0; ##修改密码策略

--------set global validata_password_length=6; ##修改密码长度

8.密码策略:

0/LOW ------>长度

1/MEDIU(默认)------>长度;数字;小写/大写,和特殊字符

2/STRONG -------->长度;数字;小写/大写和特数字符,字典文件

9.密码策略永久配置: 将密码策略命令写入到主配置文件即可.

10.常用的SQL命令分类

管理数据库使用SQL(结构化查询语言)

-1.DDL 数据定义语言 如: create , alter , drop

-2.DML 数据操作语言 如:insert ,update ,delete

-3.DCL 数据控制语言 如:grant ,revoke

-4.DTL 数据事物语言 如:commit , rollback,savepoint

库管理命令

1.显示已有的库 : show databases;

2.显示当前连接用户 : select user();

3.切换库 : use 库名;

4.显示当前所在的库: select databases();

5.创建新库 : create database 库名;

6.显示已有的库:show databases;

7.显示已有的表: show tables;

8.删除库 : drop database 库名;

9.库名的命名规则:

--------仅可以使用数字,字母,下划线,不能纯数字

--------区分字母大小写,具有唯一性

--------不可以使用指令关键字,特殊字符

表管理命令

1.创建新表: create table 库名.表名 (

字段名1 类型(宽度),

字段名2 类型(宽度),

…);

2.查看表结构: desc 库名.表名;

3.删除表命令: drop table 库名.表名;

4.查看表记录命令: select * from 库名.表名; #※号表示查看表中所有的记录,可以替换为想要查看表的字段名,如果是多个字段名,字段名中间用逗号隔开

5.插入(增加)表记录命令: insert into 库名.表名 values(值列表)

6.修改表记录命令: update 库名.表名 set 字段=值 where 字段=值; #where表示进一步约束条件

7.删除表记录命令: delete from 表名;

8.基本匹配条件:

- 数值比较条件项: = , > , >= , < , <= , != (不相等)

- 字符比较/匹配空/非空 : =(相等) , != (不相等) , is null (为空) , is not null (非空)

- 逻辑匹配(多个判断条件时使用) : or ( 逻辑或) 条件1 or 条件2 or 条件3

and (逻辑与) 条件1 and 条件2 and 条件3

! / not (逻辑非)

- 范围匹配/去重显示 (匹配范围内的任意一个值即可) : in (值列表) 在…里…

not in (值列表) 不在…里…

between 数字 and 数字 在…之间…

distinct 字段名 去重显示

- 模糊查询 : mysql> select 字段名 from 库名.表名 where 字段名 like “通配符”

常见信息种类

1.数值型: 体重,身高,成绩,工资…

2.字符型: 姓名,工作单位,通信地址…

3.枚举型: 兴趣爱好,性别,专业…

4.日期时间型: 出生日期,注册时间…

修改表结构命令

1.语法结构: alter table 库名.表名 执行操作

可执行操作的命令:

1.add 添加字段

2.modify 修改字段类型

3.change 修改字段名

4.drop 删除字段

5. rename 修改表名

1.1添加新字段语法结构: alter table 库名.表名 add 字段名 类型(宽度) 约束条件 [ after 字段名 | first ];

1.2修改字段类型语法结构: alter table 库名.表名 modify 字段名 类型(宽度) 约束条件 [ after 字段名 | first ];

1.3 修改字段名语法结构: alter table 库名.表名 change 源字段名 新字段名 类型(宽度) 约束条件 [ after 字段名 | first ] ;

1.4 删除字段语法结构: alter table 库名.表名 drop 字段名 ;

1.5 修改表名语法结构: alter table 表名 rename 新表名 ;

2.primary key 主键

2.1 foreign key 外键

文件导入导出

1.数据导入步骤:

- 默认只有root用户有数据导入的权限

- 建表

- 导入数据

(1)命令格式

mysql> load data infile “目录名/文件名” into table 库名.表名 fields terminated by “分隔符” lines terminated by “\n”;

(2)注意事项:

- 字段分隔符要与文件一致

- 表字段类型和字段个数要与文件匹配

- 导入数据时指定文件的绝对路径

2.数据导出步骤:

(1)命令格式: select 命令项 into outfile “目录名/文件名” fields terminated by “分割符” lines terminated by “\n” ; ##### \n 为换行字符

(2).注意事项:

- 导出数据行数由SQL查询决定

- 导出的是表记录,不包括字段名

- 自动创建存储数据的文件

- 存储数据的文件,具有唯一性

用户授权

1.命令格式: mysql > grant 权限列表 on 库名.表名 to 用户名@“客户端地址” identified by “密码” with grant option;

##### identified by “密码” //授权用户密码命令

##### with grant option //用户有再授权权限

2.权限列表

- all //所有权限

- usage //无权限

- select update , insert … //授权个别权限

- select update (字段名1… , 字段名N) //授权用户在指定的字段里有对应的权限

3.客户端地址格式:

- % //表示所有主机

- 192.168.4.% //表示网段内的所有主机

- 192.168.4.1 //表示指定IP的一台主机

- localhost //数据库服务器本机

4.相关命令(登录用户使用)

- select user() ; //显示登录用户名及客户端地址

- show grants; //显示登录用户自身访问数据库已有的权限

- show grants for 用户名@“客户端地址” ; // 管理员查看已有授权用户的权限

- set password=password (“密码”) //授权用户连接数据库后修改密码命令

- set password for 用户名@“客户端地址” = password(“密码”) 管理员充值授权用户连接密码

- drop user 用户名@“客户端地址” //删除授权用户(必须有管理员权限)

5.撤销权限命令: mysql > revoke 权限列表 on 库名.表名 from 用户名@“客户端地址”;

6.恢复root密码:

- 停止mysql服务程序

- 跳过授权表启动MySQL程序

- 修改root密码

- 已正常方式重启mysql 服务程序

主要操作过程如下:

vim /etc/my.cnf

[ mysqld ]

skip-grant-tables

:wq

]# systemctl restart mysqld

]# mysql

]# mysql> update mysql.user set password=password(“密码”) where user=“root” and host=“localhost”;

]# mysql> flush privileges

7.重置root密码

]# mysqladmin -uroot -p password “新密码”

]#Enter password : //输入旧密码

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值