MySQL数据库管理

目录

MySQL数据库相关概念

SQL语言

SQL分类

MySQL中6种常见的约束

主键表和外键表的理解

常用的数据类型

数据库的基本操作命令  

describe 

DDL

create

drop

DML

insert

update

delete

DQL 

select

DCL

alter

数据库高级操作命令

克隆表

清空表

临时表

数据库用户管理

新建用户

查询创建的用户信息并增删改

忘记用户密码

数据库用户授权


MySQL数据库相关概念

SQL语言

Structured Query Language的缩写,即结构化查询语言
关系型数据库的标准语言
用于维护管理数据库
包括数据查询、数据更新、访问控制、对象管理等功能

SQL分类

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


MySQL中6种常见的约束

主键约束(primary key)
外键约束(foreign key)
非空约束(not null)
唯一性约束(unique [key|index])
默认值约束(default)
自增约束(auto_increment)


外键的定义:如果同一个属性字段x在表一中是主键,而在表二中不是主键,
则字段x称为表二的外键。

创建外键约束作用(误删,修改),保证数据的完整性和一致性。

主键表和外键表的理解

(1)以公共关键字作主键的表为主键表(父表、主表)
(2)以公共关键字作外键的表为外键表(从表、外表)
注意:与外键关联的主表的字段必须设置为主键。要求从表不能是临时表,
主表外键字段和从表的字段具备相同的数据类型、字符长度和约束。


常用的数据类型

int:整型                        用于定义整数类型的数据
float:单精度浮点4字节32位        准确表示到小数点后六位        
double:双精度浮点8字节64位
char:固定长度的字符类型        用于定义字符类型数据。
varchar:可变长度的字符类型        
text:文本
image:图片
decimal(5,2):5个有效长度数字,小数点后面有2位        指定长度数组
#Char如果存入数据的实际长度比指定长度要小,会补空格至指定长度,如果存入的数据的实际长度大于指定长度,低版本会被截取,高版本会报错

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

数据库的基本操作命令  

describe 

可简写为 desc 后面加表名查看表的结构 

Field:字段名称
Type:数据类型
Null :是否允许为空
Key :主键
Type:数据类型
Null :是否允许为空key :主键
Default :默认值
Extra :扩展属性,例如:标志符列(标识了种子,增量/步长)1 2
id:1 3 5 7 

DDL

create

create 创建数据库、表
create database 数据库名
create table 表名 () 括号内加属性和数据类型

drop

drop 删除数据库、表
drop database 数据库名
drop table 表名

DML

insert

insert 插入数据
insert into 表名 (字段1,字段……) values (字段1的值,字段2的值……)
insert into 表名 values (字段1的值,字段2的值……)

update

update 修改、更新表中数据记录
update 表名 set 字段1=新值,字段2=新值…… where 条件表达 

delete

delete 删除数据

条件删除
delete from 表名 where 条件表达

删除整个表的数据
delete from 表名

DQL 

select

select 查询数据记录
select 字段1,字段2…… from 表名     可加条件where
select * from 表名     可加条件where

查询显示数据行数

select * from limit n  显示前n行
select * from limit n,m 显示第n行后的m行

DCL

alter

alter 修改表结构和表名
修改表名
alter table 旧表名 rename 新表名
修改表的结构
增加表的字段
alter table 表名 add 新字段 数据类型
修改表的字段
alter table 表名 change 旧列名 新列明 数据类型

数据库高级操作命令

克隆表

方法一
复制格式
create table 新表名 like 旧表名
备份内容
insert into 新表名 select * from 旧表名

方法二
复制旧表的数据到新表中
create table 新表名 (select * from 旧表名)


清空表

删除表内的所有数据

方法一:
delete from 表名;
#DELETE清空表后,返回的结果内有删除的记录条目; 
DELETE 工作时是一行一行的删除记录数据的;如果表中有自增长字段,使用DELETE FROM 删除
所有记录后,再次新添加的记录会从原来最大的记录ID后面继续自增写入记录。


方法二:
truncate table 表名;
#TRUNCATE清空表后,没有返回被删除的条目: TRUNCATE 工作时是将表结构按原样重新建立,
因此在速度上TRUNCATE会比DELETE清空表快;使用TRUNCATE TABLE 清空表内数据后,
ID会从1开始重新记录

临时表

临时表创建成功之后,使用SHOWTABLES命令是看不到创建的临时表的,临时表会在连接退出
后被销毁。
如果在退出连接之前,也可以可执行增删改查等操作,比如使用DROP TABLE语句手动直接删除
临时表。
PS:无法创建外键

CREATE TEMPORARY TABLE 表名 (字段1 数据类型,字段2 数据类型, ……PRIMARY KEY (主键名))

数据库用户管理

新建用户

create user '用户名'@'来源地址' identified by '密码'
来源地址 主机名、IP地址、网段、所有(%通配符)

密码可以使用select、PASSWORD('密码')

查询创建的用户信息并增删改

mysql创建的用户都在mysql数据库中的user表中
查询

use mysql;

select * from user;

删除用户 drop

修改当前用户密码 set password = password ('密码')
修改其他用户密码 set password for '用户名'@'来源地址' = password ('密码')

忘记用户密码

修改my.cnf配置,跳过密码认证
[mysql]
skip-grant-tables

数据库用户授权

grant 权限列表 on 数据库名.表名 to '用户名'@'来源地址' identified by '密码'

刷新权限
flush privileges

撤销权限

revoke 权限列表 on 数据库.表名 from '用户名'@'来源地址'
 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值