数据库常用操作命令

数据库基本操作

bash 复制代码
#查看数据库
show databases

#创建数据库
create database db DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

#使用数据库
use db;

用户操作

bash 复制代码
#创建用户
create user '用户名'@'IP地址' identified by '密码';

#删除用户
drop user '用户名'@'IP地址';

#修改用户
rename user '用户名'@'IP地址' to '新用户名'@'IP地址';

#修改密码
set password for '用户名'@'IP地址' = Password('新密码')

创建用户时:

用户名:创建的用户名称

IP地址:指定用户可以从哪个服务器登陆,本地用户localhost,任意远程机用"%"

密码:该用户登陆的密码

权限相关

bash 复制代码
#查看权限:
show grants for '用户'@'IP地址' 

#授权:
grant 权限 on 数据库.表 to '用户'@'IP地址'

#取消授权:
revoke 权限 on 数据库.表 from '用户'@'IP地址'

权限:用户的操作权限,如SELECT,INSERT,UPDATE等,如果要授予所的权限则使用ALL

bash 复制代码
GRANT SELECT, INSERT ON student.user TO 'scott'@'%';

通过下面的命令让指定用户可以给其他用户授权

bash 复制代码
GRANT privileges ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION;

对表的操作

bash 复制代码
#查询所有的表
show tables;

#创建表
CREATE TABLE `user` (
  `id` int(11) NOT NULL auto_increment,   # not null表示不能为空,auto_increment表示自增
  `name` varchar(255) DEFAULT 'javayz',   # default 表示默认值
  PRIMARY KEY (`id`)                       # 把id列设置成主键
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

#清空表
truncate table 表名

#删除表
drop table 表名

#添加列
alter table 表名 add 列名 类型

#删除列
alter table 表名 drop column 列名

#修改列类型
alter table 表名 modify column 列名 类型;

#修改列名、列类型
alter table 表名 change 原列名 新列名 类型;

#添加主键
alter table 表名 add primary key(列名);

#删除主键
alter table 表名 drop primary key;

#添加外键
alter table 从表 add constraint 外键名称(形如:FK_从表_主表) foreign key 从表(外键字段) references 主表(主键字段);

#删除外键
alter table 表名 drop foreign key 外键名称

#修改默认值
ALTER TABLE user ALTER name SET DEFAULT 'javayz2';

#删除默认值
ALTER TABLE user ALTER name DROP DEFAULT;

对数据的操作

bash 复制代码
#增
insert into 表 (列名,列名...) values (值,值,...)

#删
delete from 表 where 条件

#改
update 表 set 字段='值' where 条件

#查
select 值 from 表 where 条件

#通配符like %匹配多个字符,_匹配单个字符
select * from 表 where name like '%java_'  

#limit 限制输出行数
select * from 表 limit 3   #前3行
select * from 表 limit 3,5;  #从第3行开始的5行

#order by 排序   
select * from 表 order by 列 asc  #asc正序,desc逆序

#group by分组(group by 必须在where之后,order by之前)
select name from 表 group by name 
相关推荐
DokiDoki之父23 分钟前
Mybatis—入门 & (配置)SQL提示和日志输出
数据库·sql·mybatis
TDengine (老段)1 小时前
TDengine 数据函数 LN 用户手册
大数据·数据库·物联网·时序数据库·tdengine·涛思数据
机灵猫1 小时前
Redis 在订单系统中的实战应用:防重、限流与库存扣减
数据库·redis·缓存
木易2.01 小时前
从零构建RAG知识库管理系统(二)
数据库·oracle
程序新视界1 小时前
什么是MySQL JOIN查询的驱动表和被驱动表?
数据库·后端·mysql
lingggggaaaa2 小时前
小迪安全v2023学习笔记(一百三十四讲)—— Windows权限提升篇&数据库篇&MySQL&MSSQL&Oracle&自动化项目
java·数据库·windows·笔记·学习·安全·网络安全
小光学长2 小时前
基于Vue的保护动物信息管理系统r7zl6b88 (程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
前端·数据库·vue.js
一匹电信狗2 小时前
【MySQL】数据库的相关操作
linux·运维·服务器·数据库·mysql·ubuntu·小程序
TDengine (老段)4 小时前
连接 TDengine 遇到报错 “failed to connect to server, reason: Connection refused” 怎么办?
大数据·数据库·物联网·时序数据库·iot·tdengine·涛思数据
李慕婉学姐5 小时前
Springboot黄河文化科普网站5q37v(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·spring boot·后端