mysql简单实用指令

AffettoIris 2023-1-10 2,535 1/10

第一步:我们需要进入数据库

mysql -u root -p

然后提示输入密码,输入你的root用户密码(默认不显示)若mysql命令没有添加环境变量则命令需要带上mysql命令路径

第二步:我们输入下列指令就可查询所有数据库了

show databases;

知道了如何查询数据库了,接下来让我们来了解一下MySQL中的一些显示命令

1、显示数据库列表。

show databases;

2、显示库中的数据表:

use mysql;
show tables;

3、显示数据表的结构:

describe 表名;

4、建库:

create database 库名;

5、建表:

use 库名; 
create table 表名 (字段设定列表);

6、删库和删表:

drop database 库名; 
drop table 表名;

7、将表中记录清空:

delete from 表名;

8、显示表中的记录:

select * from 表名

1. 修改字段的长度

# 语法: 
ALTER TABLE 表名 MODIFY COLUMN 字段名  数据类型(修改后的长度)

# 例子
ALTER TABLE attence MODIFY COLUMN id INT(20)
12345

2. 修改字段的名称

# 语法:
alter table <表名> change <字段名> <字段新名称> <字段的类型>。

# 案例
ALTER TABLE attence CHANGE attence_name NAME  VARCHAR(20)
12345

3. 新增字段

# 语法:
新增默认为空的字段
ALTER TABLE 表名 ADD COLUMN 字段名 字段类型 DEFAULT NULL;
# 对于timestamp类型,是不能null的,已存在的记录的此属性值将自动取创建timestamp时的时间。
新增不为空的字段
ALTER TABLE 表名ADD COLUMN 字段名 字段类型  NOT NULL;

# 例子:
ALTER TABLE attence ADD COLUMN attence_name VARCHAR(20) DEFAULT NULL;
ALTER TABLE attence ADD COLUMN age VARCHAR(20) NOT NULL;
123456789

4. 删除字段

# 语法:
ALTER TABLE 表名 DROP COLUMN 字段名;

# 例子:
ALTER TABLE attence DROP COLUMN age;

用户

创建用户和登录
create user student identified by xingyan;
还有种限制用户登录的ip的新建用户
CREATE USER 'test1'@'localhost' IDENTIFIED BY 'test1';
登录:在cmd里
输mysql -u username -p
enter后再输密码即可
授权
GRANT ALL PRIVILEGES ON envxy TO teacher@'%' IDENTIFIED BY 'xingyan';
将当前数据库(sqlxy)的env表的所有权限授予。为区分界限明显点,建议用户名和IP名和密码加上单引号
%是个通配符,如果Host=192.168.1.%,那么就表示只要是IP地址前缀为“192.168.1.”的客户端都可以连接。如果Host=%,表示所有IP都有连接权限。
可以用show grants;查看
 GRANT USAGE ON *.* TO 'teacher'@'%'是用户创建之时就自带的权限,先不管。

mysql简单实用指令

grant all on envxy.* to 'teacher'@'%'  identified by 'xingyan';
不论当前数据库是谁,指定envxy库的所有表,zhe
撤销权限
revoke all on `sqlxy`.`envxy` from teacher;
权限分类

不同类型的操作对象具有不同的操作权限

对属性列和视图的操作权限:SELECT、INSERT、UPDATE、DELETE、ALL PRIVILEGES(前4种权限的总和,可以简写为all);

对基本表的操作权限:SELECT、INSERT、UPDATE、DELETE、ALTER、INDEX、ALL PRIVILEGES(前6种权限的总和);

对DB的操作权限:CREATE TABLE(属于DBA),但可由DBA授予普通用户。被授予此权限的普通用户可创建基本表,并拥有对该基本表的一切操作权限

1.用有对库的部分表的权限的用户,show tables也只能看到部份表,如下

mysql简单实用指令

2.

select * from sqlxy.test;
和select * from envxy.test;
这样可以指定库。

3.经测试,有一个用户,对answer表有权限,answer表有个外键是student表的,但是用户任可以对answer表插入数据,即使它没直接使用student表的权限。

4.

sql语句中加反引号,`sqlxy.student`不对,sqlxy.`student`对
- THE END -

AffettoIris

10月16日15:53

最后修改:2023年10月16日
0

非特殊说明,本博所有文章均为博主原创。

共有 0 条评论