mysql数据库管理

SQL语句概述

SQL语言

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

SQL分类与MYSQL(结构化查询语言)分类:数据库语言

DDL:数据定义语言 用来建立数据库,数据库对象和定义字段,如CREATE、ALTER、DROP
DML:数据操纵语言 用来插入、删除和修改数据库中的数据,如INSERT、UPDATE、DELETE
DQL:数据查询语言 用来查询数据库中的数据,如SELECT
DCL:数据控制语言 用来控制数据库组件的存取许可、存取权限等,如AMMIT、ROLLBACK、GRANT、REVOKE

管理数据库和表

定义数据库(DDL语句)

创建数据库

create database a; #a是数据库名

创建新的表

use a; #进入数据库
acreate table b  (字段1名称 字段1类型 字段1约束,字段2名称 字段2类型 字段2约束....) 
desc b; #查看表b
show databses; #查看数据库
show tables; #查看数据库中的表
字段的名称

属性名称,是自定义的

字段的类型

int(4):整型 代表0000–9999
double 浮点型
decimal (5,2) 有效数字是5位,小数点后保留2位
float 单精度浮点4字节
char (10) 固定长度字符串,不足的用空格补齐,超过的截掉超过的部分
varchar (10) 可变长字符串,不足的自动适应长度,超过的截掉
char最多可存放255个字符,
varchar最大长度为65535个字节,varchar存放的字符数跟编码有关
字符类型若为gbk,每个字符最多占2个字节,最大长度不能超过32766个字符
字符类型若为utf8,每个字符最多占3个字节,最大长度不能超过21845个字符
一个汉字占多少字节与编码有关UTF-8:一个汉字为3个字节GBK:一个汉字为2个字节

字段的约束

非空约束not null:内容不允许为空
主键约束primary key:非空且唯一 标识
默认约束default:假如没有填数据,默认预先设定的值填写 default ‘未知’
自增特性auto_increment:id 1 2 3 4(自动增长)
在这里插入图片描述

在表中插入字段

alter table b add column height int(3);

在这里插入图片描述

删除数据库和表

drop table 库名.表名; #删除某个数据库中的某个表

在这里插入图片描述

drop database 库名; #删除某个数据库

在这里插入图片描述

管理表中的数据(DML语句)

向表中插入新的数据

use a; #使用数据库a
insert into 表名 (字段1,字段2,...) value (字段1的值,字段2的值,...)(字段1的值,字段2的值,...)....

在这里插入图片描述

修改更新表中的数据

update  表名 set 字段2=修改后的值,字段3=修改后的值 where 字段1='原来的值'#修改字段1的值为**的数据,将其字段2和3的值修改

在这里插入图片描述

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

delete from 库名.表名 where 字段1='值'; #删除某库里的某表中字段1为值得数据

在这里插入图片描述

清空表

truncate table 库名.表名;

在这里插入图片描述

数据库得高级操作

临时表

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

create temporary table pphh(id int(4) not null auto_increment, name varchar(32) character set utf8 collate utf8_bin not null, level int(10) not null, primary key(id))engine=innodb default charset=utf8; #创建临时表pphh
insert into pphh(id,name,level) values(22,'zhangsan',10),(23,'lisi',20); #向临时表里插入数据

在这里插入图片描述

克隆表

从b表完整复制结构生成c表

create table c like b;

在这里插入图片描述
克隆b表生成d表

show create table a\G;

复制下面内容
在这里插入图片描述
粘贴好以后,将表名改为d,确认
在这里插入图片描述

导入数据

insert into c select * from b;

在这里插入图片描述

数据库用户授权(DCL)

DCL语句设置用户权限(若用户不存在,则新建用户)

设置登录密码为123123的ph用户,可以从任意终端登录,对所有库和所有表有全部权限

create user 'ph'@'%' identified by '123123'; #创建密码为123123得用户ph
grant all on *.* to 'ph'@'%' identified by '123123'; #赋予所有权限
select user,host from mysql.user; #查看

在这里插入图片描述
设置登录密码为123123的hp用户,可以从本地终端登录,对a库中的b表有select权限

create user 'hp'@'%' identified by '123123';
grant select on a.b to 'hp'@'%' identified by '123123';
查看用户权限

查看当前用户权限

show grants;

在这里插入图片描述
查看从%登录的ph用户的权限

show grants for 'ph'@'%';

在这里插入图片描述
撤销用户的权限

revoke select on mysql.user from 'ph'@'%';

查看当前系统中的用户

select user from mysql.user;

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值