第一步:我们需要进入数据库
mysql -u root -p
然后提示输入密码,输入你的root用户密码(默认不显示)若mysql命令没有添加环境变量则命令需要带上mysql命令路径
第二步:我们输入下列指令就可查询所有数据库了
show databases;
知道了如何查询数据库了,接下来让我们来了解一下MySQL中的一些显示命令
1、显示数据库列表。
show databases;
2、显示库中的数据表:
use ;
;
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'@'%'是用户创建之时就自带的权限,先不管。

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也只能看到部份表,如下

2.
select * from sqlxy.test; 和select * from envxy.test; 这样可以指定库。
3.经测试,有一个用户,对answer表有权限,answer表有个外键是student表的,但是用户任可以对answer表插入数据,即使它没直接使用student表的权限。
4.
sql语句中加反引号,`sqlxy.student`不对,sqlxy.`student`对
- THE END -
最后修改:2023年10月16日
非特殊说明,本博所有文章均为博主原创。
共有 0 条评论