MySQL数据库基础命令

本文介绍了MySQL数据库的基本操作,包括查看数据库和表、切换与创建数据库、表结构的描述、数据的插入、查询、更新和删除。此外,还涉及到了表结构的修改,如添加、删除字段,以及主键和外键的约束设置。同时,文章详细讲解了用户管理和权限分配,包括创建、重命名、删除用户,以及密码修改和权限授予与撤销。
摘要由CSDN通过智能技术生成

##数据库的增删改查
##查看
##查看mysql中有什么数据库
show databases;  

##查看数据库中的表
show tables from 数据库名; 

##切换数据库  
use 数据库名;

##查看表结构
desc 数据库.表明;

##查看表的内容
select * from 表明;

##创建
##创建数据库
create database 数据库名;

##创建表
create table 表名(字段 数据类型, , , )

##删除
##删除mysql中的数据库
drop databases 数据库名;

##删除表
drop table 数据库名.表名;

##表内数据的增删改查
##插入 
insert into 表名 values (所有字段值);
insert into 表名(字段, , ,)values(字段值 , ,);   这里字段可以不按顺序

##查
##查看表中所有记录
select * from 表名;

##查看指定字段值
select 字段名, , from 表名 where 字段=搜索值

##纵向展示每条记录    不使用;结尾 改为\G结尾
select * from 表名\G

##设置分页 
##指定显示指定行
select * from 表名 limit 行数;

##指定显示第n+1 行后m行
select * from 表明 limit n+1,m;
select * from 表名 字段>=n+1 and 字段 <= m+n+1;

##删 表结构的删改增
##一般用于结构的删除 drop  删除字段
alter table 表名 drop 字段名;

##修改表名rename
alter table 旧表名 rename 新表名

##增加字段
alter table 表名 add 字段名 数据类型

##添加唯一键 (将旧字段重命名)[主键与唯一键添加方式不同 一个使用add 一个使用change]
alter table 表名 change 旧字段名 新字段名 类型 unique key;

##删除字段
alter table drop 字段名;


##添加主键约束的两种方法
##创建表时
create table 表名(字段 类型,,primary key(字段名);
create table 表名(字段 类型 primary key,,);
##已有表中添加
alter table 表名 add primary key(字段名);

##改(针对表中数据的改删)
##修改表中数据
update 表名 set 字段名=字段值,,where 条件判断字段=条件判断值

##删除表中指定字段数据
delete from 表名 where 字段=字段值;


##表的克隆 
##复制表结构
create table 新表名 like 旧表名;
##导入旧数据
insert into 新表名 select * from 旧表名;

create table 新表名(select * from 旧表名);

##查看表结构三法
##表格形式显示表结构
desc 表名; 
##最详细显示表结构(创建表的命令形式)
show create table 表名;
##竖向显示表结构(在表字段较多的时候,使用更加清晰)
desc 表名\G 

##清空表的两种方法
##一行一行的删除记录数据,速度较慢,返回删除的结果条目。若有自增字段,删除后新增记录按最大的记录ID后面继续自增写入
delete from 表名;
##格式化表格 速度更快,无返回条目,相当于重新建立表结构,新建ID会从1开始
truncate table 表名;

##创建临时表 
##show table 不会看到该表,连接退出后销毁,退出连接网络前,drop table手动删除,一般用于测试,仅当前连接的用户才可看到,相同登录换个终端也看不到。
create temporary table 表名(字段名 类型  primary key(主键名),,);

##创建外键约束,保证数据完整性与一致性
##删除主键表中某条记录,先删除外键表中相关联的字段记录,添加记录时,需要先主表拥有才能添加从表
#创建主表class
 create table class (cid int,cname varchar(10));
 ​
 #创建从表student
 create table student (id int,name varchar(10),age int,classid int);
 ​
 #为主表class的cid字段添加一个主键约束。constraint为主键创建别名,主键名建议以“PK_”开头。
 alter table class ADD constraint PK_CID primary key (cid);
 ​
 #为从表student的classid字段添加外键,并将student 表的classid字段和class 表的cid字段建立外键关联。外键名建议以"FK_”开头。
 #references关联主键表中的字段。
 alter table student ADD constraint FK_CLASSID foreign key (classid) references class(cid);
 ​
 #添加外键时必须关联主键(即先要添加主键,再添加外键)
 #添加主键和外键时,即使不设置别名,系统也会自动创建一个别名。

##数据库用户管理
##为数据库创建用户
##明文
create user '用户名'@'来源地址'  identified by '密码'
##密文
create user '用户名'@'来源地址'  identified by password '密文';

##用户重命名
rename user '旧名字'@'来源地址'  to '旧名字'@'相同来源地址';
 
##删除用户信息
drop user '用户'@'来源地址'

##修改用户密码
##修改当前登录用户密码
set password=password('密码');

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

##忘记root用户密码解决方法(修改root用户密码)
sed '/[mysqld]/a\skip-grant-tables' /etc/my.cnf
service mysqld restart
mysql
UPDATE mysql.user SET AUTHENTICATION_STRING = PASSWORD('新密码') where user='root';
flush privileges;
quit
sed '/skip-grant-tables/c\' '' /etc/my.cnf

##yum源下载后查看初始密码 通过初始密码登录后改密
grep password /var/log/mysqld.log
mysql -u root -p'初始密码'
alter user root@'localhost' identified by '新密码';

##查看当前登录用户
select user();

##数据库授权
##grant,用户存在修改用户信息,不存在创建新用户
grant 权限列表 on 数据库名.表名 to '用户名'@'来源地址' identified by '指定该用户密码';

##给用户最大权限(所有权限)可在所有终端登录
grant all privileges on *.* to '用户名'@'%' identified by '密码';

##查看用户权限
##查看当前用户的权限(自己的)
show grants;

##查看指定用户的权限
show grants for 用户名@来源地址;

##撤销用户权限 必须指定库名或表
revoke 权限列表 on 库名.表名 from '用户名'@'来源地址'
##撤销所有权限
revoke all on *.* from '用户名'@'%';

##用户授权
mysql -u 用户名 -p密码 -h 目标IP/主机名 -P 端口号


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值