数据库管理

发布于:2024-03-21 ⋅ 阅读:(62) ⋅ 点赞:(0)

前期准备工作

  打开虚拟机,运行xshell,连接数据库

一、数据库基本操作

  show databases;  // 查看数据库信息

查看数据库表的信息

use  数据库名        举例:use mysql

show tables

DESCRIBE [数据库名.] 表名

  解释:

  • Field:字段名称
  • Type:数据类型
  • Extra:扩展属性
  • Null:是否允许为空
  • Key:主键
  • Default:默认值
  • id:1 3 5 7

  1.1 常见的数据类型

  • int:整型 用于定义证书类型的数据
  • float:单精度浮点4字节32位 准确表示道小数点后六位
  • double:双精度浮点8字节64位
  • char:固定长度的字符类型 用于定义字符类型数据
  • varchar:可变长度的字符类型
  • text:文本
  • image:图片
  • decimal(5,2):5个有效长度数字,小数点后面有两位 指定长度数组

  注意:char如果存入数据的实际长度比指定长度要小,会补空格至指定长度; 如果存入数据的实际长度比指定长度要大,低版本会被截取,高版本会报错。

  主键是唯一的,但主键可以由多个字段构成。

二、SQL语言描述

  2.1 SQL语言

    结构化查询语言,而且是关系型数据库的标准语言。主要用于维护管理数据库,包括:数据查询、数据更新、访问控制、对象管理等功能。

  2.2 SQL分类

  • DDL:数据定义语言
  • DML:数据操纵语言
  • DQL:数据查询语言
  • DCL:数据控制语言

  2.2.1 创建数据库和表

  DDL语言可用于创建数据库对象,如库、表、索引等

  使用DDL语言新建库、表

创建数据库 create database 数据库名

创建数据表 create table 表明(字段定义)

  2.2.2 删除数据库和表

  使用DDL语言删除库、表

  删除指定的数据表

drop table [数据库名.]表名        //删除指定的数据库

drop database 数据库名 

  2.2.3 管理表中的数据

  DML语句用于对表中的数据进行管理

  包括的操作

  • insert:插入新数据
  • update:更新原有数据
  • delete:删除不需要的数据

  2.2.3.1 向数据表中插入新的数据记录

insert into 表明(字段1,字段2,...)values(字段1的值,字段2的值,...)

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

update 表名 set 字段名1=值1[,字段名2=值2] where 条件表达式

  2.2.3.3  在数据库中删除指定的数据记录

delete from 表明 where 条件表达式

举例:delete from auth.users where user_name="lisi"

不带where条件的语句表示删除表中所有记录(慎用)

举例delete from auth.users;  

   2.2.3.4 DQL数据查询语句

  只有select,用于从数据表中查找符合条件的数据记录,可查询时可不指定条件。

select 字段名1,字段名2... from表名

例:select * from auth.users;

查询时指定条件

select 字段名1,字段名2...from 表名 where 条件表达式

  2.2.3.5 清空表

delete from 表名

truncate table 表名

特点
drop table 表名 1.属于DDL 2.不可回滚(无法恢复) 3.不可带where 4.表内容和结构删除 5.删除速度快
truncate table 表名 1.属于DDL 2.不可回滚(可恢复) 3.不可带where 4.表内容删除 5.删除速度快
delete from 表名 1.属于DML 2.可回滚(可恢复) 3.可带where 4.表结构在,内容要看where执行情况 5.删除速度慢,需要逐行删除

   使用场景:

  • 不再需要一张表的时候用drop
  • 想删除部分数据行时,用delete且带上where
  • 保留表而删除所有数据的时候用truncate

  比较:

  速度:drop>truncate>delete

  安全性:delete最好

  2.2.3.6 临时表

  临时建立的表,用于保存一些临时数据,不会长期存在。

  2.2.3.7 克隆表

  like方法

  show create table方法

  根据您的需求:

    第一种:迁徙表 表的结构 属性 约束 数据

    第二种:备份数据 表的复制内容(数据) 

  2.3 DLC

  2.3.1 修改表名和表结构

alter table 旧表名 rename 新表明;

  2.3.2  扩展表结构(增加字段)

ALTER TABLE 表名 ADD address varchar(50) default '地址不详'

  2.3.3 修改字段(列)名,添加唯一键

 ALTER TABLE 表名 CHANGE 旧列名 新列名 数据类型[unique key];

  • unique key:唯一键(特性:唯一但可以为空,空值只允许出现一次)
  • key:唯一且非空(主键一般选择能唯一性的字段不允许取空值(NULL),一个值只能有一个主键)
  • CHANGE可修改字段名、数据类型、约束等所有项

ALTER TABLE 表名 modifycolumn 字段名 类型

  数据库中表 字段是varchar(30),修改类型可以用(谨慎修改类型,可能会导致原有数据缺失)

   2.3.4 删除字段

格式:ALTER TABLE 表名 DROP 字段名;

  alter 修改 表 字段

  • rename 修改表名
  • ADD 表结构扩展字段
  • change 修改表结构字段 类型 modify
  • drop 删除字段

二、数据库用户管理以及用户授权

功能 举例
新建用户 CREATE USER '用户名'@'来源地址' [IDENTIFIED BY [PASSWORD] '密码'];
查询

SELECT User,authentication_string,Host from user;

重命名指定 RENAME USER 'zhangsan'@'localhost' TO 'lisi'@'localhost';
删除用户 DROP USER 'lisi'@'localhost' ;
修改当前密码 SET PASSWORD = PASSWORD('abc123');
修改其他用户密码 SET PASSWORD FOR 'user1'@'localhost' = PASSWORD('abc123T');

撤销权限

revoke all on 'heihei'.* from 'haha'@'192.168.10.%'

查看权限

 show grant FOR 'haha'@'192.168.10.%';

刷新

flush privileges;


网站公告

今日签到

点亮在社区的每一天
去签到