MySQL数据库的基础命令

日常记录一下mysql的基础命令,包括密码更改、增、删、改、查以及用户授权。

更改登录密码

1
2
3
set global validate_password_policy=0;  //更改密码策略
set global validate_password_length=4; //更改密码长度
alter user root@‘localhost’ identified by '密码'; //设置数据库管理员root密码

用户授权

1
2
grant all  privileges on 数据库名字.* to 用户名@‘localhost‘ identified by ’密码’;   //给用户一个库的所有权限
grant all privileges on 数据库名字.表名 to 用户名@’localhost’ identified by‘密码’; //给用户一个库中的一个表的所有权限

权限字段

  • all privileges:所有权限
  • select:读取权限
  • delete:删除权限
  • update:写权限
  • create:创建权限
  • drop:删除权限

数据库字段

  • *.* :指定数据库中所有的库和表
  • 数据库名字.* :指定某一个数据库下的所有表
  • 库名.表名:指定某个库中的某个表

用户字段

  • localhost:只允许用户本地登录
  • %:允许除本机外任何一个地方登录
  • IP地址:指定ip登录

库的基本操作

  • 增:在data文件夹下,创建出一个db文件夹(db数据库),编码方式不指定则以默认的为准
1
create database db charset utf8;
  • 删:删除数据库
1
drop database db;
  • 改:更改数据库、一般都是更改编码方式。
1
alter database db charset gbk;
  • 查:查询数据库
1
2
3
4
 查看data文件夹下的所有的数据库
show databases;
查看创建的数据库db的数据结构,可以看到其指定的编码。
show create database db;

表的基本操作

  • 切换文件夹(数据库)
1
use db; //创建表前需先切到具体的文件夹下,否则会因无指定文件夹报错,也可在创建表前指定。
  • 查看当前所在的库
1
select database();

增:

1
2
3
4
create table t1(id int,name char); #创建表前需指定字段类型,且不为空,字段放在括号内,并用逗号隔开
create table db.t1(id int,name char); #创建表时若没有切换到指定的文件夹下,则在表名前添加库名即可
create table t2(id int primary key auto_incremnt,name char(15));
#创建有主键的表,主键:id不能为空且唯一,且为自增长,故插入记录时不需传入id的值
1
drop table t1; #直接指定删除的表名即可
  • 改、改变表结构
1
2
3
4
5
alter table t1 add age int; #,add:向表中添加新的字段,并指定字段的类型,不需要用括号
alter table t1 modify name char(15); #modify:修改表中字段的类型,不可修改字段名
alter table t1 change name NAME char(15); #change:修改字段名和字段的类型
alter table department rename to dep; #对表名进行重新命名
alter table t1 drop age; #删除表中某一个字段,字段下的记录会一同被删除
1
2
3
4
show tables; #查看当前库下创建的所有表,查看出的表会显示在哪个库下的
show create table t1; #查看具体的某一个表的表结构但是该表结构看上去有点乱
desc t1; #查看表的表结构,比上面的方法查看的规整
describe t1;来进行查询表的表结构

数据的基本操作

1
2
3
4
5
6
7
insert into t1(id,name) values (1,jiang'), (2,1L)(,"x);

向表中插入记录,字段名必须和值对应,值用括号进行插入,每插入一组值用逗号隔开,分号结束

insert into t2(name) values (jing,(LL), ('cs");

有主键表的插入操作
1
2
3
delete from db1.t1 where id >= 2;删除记录,不改变值结构,不重新排序
清空表:
truncate t2; #清空表中内容,字段id再插入值时从1增长,delete是接着上次id的值继续增长。
1
update db1.t1 set name='lxx_dsb' where id=2; #修改值,set指定字段名,后面跟约束条件。
1
2
3
4
5
select id from db1.t1; #指定要查看表中哪个字段下的内容
select id,name from t1; #指定查看多个字段下的内容
select name,id from t1; #查看多个字段时可以调换字段的顺序,并不会存储的顺序
select * from t1; #“*”:查看所有的字段下的记录
select * from t1 where id >= 2; #查询所有字段是加上约束条件,精准的查询想要的记录

版权声明:本文参照CSDN博主「江江呀」的原创文章创作。 原文链接:https://blog.csdn.net/qq_40671789/article/details/101078308