您的位置:首页 > 汽车 > 新车 > Mysqld数据库管理

Mysqld数据库管理

2024/7/3 21:38:12 来源:https://blog.csdn.net/Decp_/article/details/139747728  浏览:    关键词:Mysqld数据库管理

一.Mysqld数据库类型

常用的数据类型

int

整型   无符号[0-4294967296(2的32次方)-1],有符号[-2147483648(2的31次方)-2147483647]
float单精度浮点    4字节32位
double双精度浮点    8字节64位
char固定长度的字符类型
varchar可变长度的字符类型
text文本
image图片
decimal(5,2)5个有效长度数字,小数点后面有2位

二.查看数据表结构的操作

查看当前的 MySQL 版本信息及连接用户名:
SELECT VERSION();
SELECT USER();

1.查看当前服务器中的数据库 
SHOW DATABASES;	  #大小写不区分,分号“;”表示结束

 MySQL会附带4个系统数据库: 

  • information_schema:主要存储系统中的一些数据库对象信息,如数据库名,数据库的表,表栏的数据类型与访问权限等
  • mysql:主要存储系统的用户权限信息
  • performance_schema:主要存储数据库服务器性能参数信息
  • sys:MySQL5.7之后引入的一个新的 sys 数据库,sys 库里面的表、视图、函数以及存储过程可以让用户快速了解MySQL的一些信息,它的数据来源于performance_schema
2.查看数据库中包含的表
USE 数据库名;
SHOW TABLES;
#在不切换库的情况下直接查看表:show tables from 数据库名;


 

3.查看表的结构(字段) 
USE 数据库名;
DESCRIBE [数据库名.]表名;
可缩写成:DESC 表名;
#在不切换库下查看某个表的结构:desc 库名.表名;

三.SQL语句 

SQL语句用于维护管理数据库,包括数据查询、数据更新、访问控制、对象管理等功能。

SQL语言分类:

  • DDL:用于管理数据库对象(库、表、索引 等)
  • DML:数据操纵语言,用于对表中的数据进行管理
  • DQL:数据查询语言,用于从数据表中查找符合条件的数据记录
  • DCL:数据控制语言,用于设置或者更改数据库用户或角色权限
1.DDL

1)创建新的数据库

CREATE DATABASE 数据库名;

2)创建新的表 

CREATE TABLE 表名 (字段1 数据类型,字段2 数据类型[,...][,PRIMARY KEY (主键名)]);
#主键一般选择能代表唯一性的字段不允许取空值(NULL),一个表只能有一个主键。

3)删除指定的数据表

DROP TABLE [数据库名.]表名;		#如不用USE进入库中,则需加上数据库名

4)删除指定的数据库

DROP DATABASE 数据库名;

5)修改表结构 

alter table 旧表名 rename 新表名;
alter table 表名 add 新字段 数据类型 [约束属性];
alter table 表名 change 旧字段 新字段 数据类型 [约束属性];
alter table 表名 drop 字段名;alter table 表名 add primary key(字段名);
alter table 表名 drop primary key;

6)在数据表中删除指定的数据记录 

在数据表中删除指定的数据记录
DELETE FROM 表名 [WHERE 条件表达式];例:
DELETE FROM qwer123 WHERE id=4;

7)克隆表 

create table 新表名 like 旧表名;             #克隆表结构
insert into 新表名 select * from 旧表名;     #克隆表数据       可实现表结构和表数据与旧表都一样create table 新表名 (select * from 旧表名);     #表数据和旧表是一样的,新表的结构和旧表的不一定一样

8)清空表 

清空表
delete from 表名;          #一条一条的删除记录,清空表效率较慢;AUTO_INCREMENT自增字段仍保持原有的记录truncate table 表名;       #直接重建表,清空表效率较快;AUTO_INCREMENT自增字段的记录也会重置

2.DML 用于管理表数据

1)向数据表中插入新的数据记录

INSERT INTO 表名(字段1,字段2[,...]) VALUES(字段1的值,字段2的值,...);SELECT * FROM xy101;					#查询表的数据记录

2)修改、更新数据表中的数据记录

UPDATE 表名 SET 字段名1=字段值1[,字段名2=字段值2] [WHERE 条件表达式];

3.DQL:用于查询表数据
SELECT 字段名1,字段名2[,...] FROM 表名 [WHERE 条件表达式];

select * from 表名\G					#以列表方式竖向显示
select * from 表名 limit 2;		    #只显示头2行
select * from 表名 limit 2,3;			#显示第2行后的前3行

4.DCL:用于管理用户和权限 
create user '用户名'@'来源地址 identified by '密码';
来源地址:
localhost ip 网段 %(任意地址) 主机名 修改用户名
rename user 'root'@'%' to 'wei'@'%';
修改密码
set password for '用户名'@'来源地址' = password('密码');只可以root用户
alter user '用户名'@'来源地址' identified by '密码'; 修改密码
用户权限管理:
grant 权限1, 权限2  ON 库名.表名 to '主机名'@'来源地址'identified by 密码
查看权限
show grant for '用户名'@'来源地址';
撤回权限
revoke 权限列表 on 数据库名.表名 from '用户名'@'来源地址'

四.拓展

1.如何找回root密码
1)修改MySQL配置文件,在 [mysqld] 配置项下面添加配置 skip-grant-tables 
2)重启MySQL服务,使用 mysql 命令即可直接登录数据库
3)执行命令 update mysql.user set authentication_string=password('密码') where user='root'; 来修改root用户密码
4)还原MySQL配置文件,再重启MySQL服务,即可使用命令 mysql -u root -p密码 [-h 服务器地址 -P 端口] 登录数据库
 2.权限管理
grant 权限1,权限2,....  on 库名.表名 to '用户名'@'来源地址' [identified by '密码'];     #在5.7或之前支持 grant 创建新用户和授予权限,8.0开始只能用于授予权限all [privileges]        *.*(代表 任意库.任意表)flush privileges;show grant for '用户名'@'来源地址';revoke 权限列表  on 库名.表名  from '用户名'@'来源地址';all

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com