day32_MySQL

#创建用户
# create user '用户名'@'host' IDENTIFIED by '密码';
CREATE USER 'test'@'127.0.0.1' IDENTIFIED BY '1234'

#给某个用户权限
#GRANT 权限 on 数据库.表 to '用户'@'登录主机' IDENTIFIED by '密码';
# 权限 : select 查数据 , insert 插入数据 , update 修改数据 , delete 删除数据 ,drop 删除表 , create 创建表
# 可以授权多个权限, 每个权限之间用逗号隔开
# ALL privileges 是所有权限
# 数据库.表  * 表示所有, _01_.* 表示_01_数据库下所有的表, *.* 表示数据库下所有的表
# 刷新权限 : flush privileges;

# 对test用户,授权_01_数据库下student_info表中可以查询并插入数据
grant select,insert on _01_.student_info to 'test'@'127.0.0.1' identified by '123456';
flush privileges;

#撤回权限 revoke 权限 on 数据库.表 from '用户'@'登陆主机' IDENTIFIED by '密码';
revoke insert on _01_.student_info to 'test'@'127.0.0.1' identified by '123456';
flush privileges;

#删除用户 drop user '用户名'@'host';
drop user 'test'@'127.0.0.1';

#查看当前链接的MySQL服务器的版本
select version();
#显示当前链接的MySQL服务器中的所有的数据库
show databases;
#如果要查看的表不在当前数据库下 要切换数据库
# use 数据库名;
use _01_;
show tables;

#在当前数据库服务器上创建数据库
# create database 数据库名字;
create database _02_;
#在当前数据库服务器上删除数据库
# drop database 数据库名字;
drop database _02_;

#在数据库库_01_下创建表student_info;
use _01_;
create table student_info(
id int,
age varchar(50),
`name` varcher(50),
# decimal 指小数 5代表五位数, 逗号后面的2表示5位中有2位为小数
score decimal(5.2)
); 

#char 为定长字符串  只输入一个字符的时候也会占满设定的全部字符数
#varchar 为变长字符串  输入多长字符就占多少字符

# insert(用于向表中添加数据)
#格式为: insert into 表名 (列名,列名,列名...) values(值,值,值...);
#列名写全添加
insert into student_info(id,age,`name`,score)VALUES(4,18,'武大',60.01);
#列名写一部分
insert into student_info(id,age)VALUES(4,18);
# insert into 表名 value(值,值,值...); 必须设置所有列的值,并且需要按照列的先后顺序,不推荐使用
insert into student_info VALUES(6,17,'武二',99.99);
#一次性插入多条数据,insert into 表名(列名,列名,列名...)VALUES(值,值,值...),(值,值,值...),(值,值,值...);

# delete(用于删除表中的数据)
#格式为: delete from 表名 where 列名=值;
#全表删除操作
delete from student_info;
#把名字为李四的删除
DELETE FROM student_info where `name` = '李四';
#把年龄小于18的删除
DELETE FROM student_info where age < 18;
#把name为空的删掉  注意: 判断null要用 is null ,判断不是null要用 is not null;
delete from student_info where `name` is null;

# update(用于更新表中的数据)
#格式为: update 表名 set 列名1=值, 列名2=值, 列名3=值;
#把素有年龄减10岁
update student_info set age = age - 10;
#不加where限制就是全表操作
#把年龄不满18岁的,name改为未成年
update student_info set `name` = '未成年' where age < 18;
#name为空,将name改为查无此人
update student_info set `name` = '查无此人' where `name` is null;

# select(用于查询表中的数据)
#格式为: select 列限定 from 表限定 where 行限定
# 查询 select 列限定 from 表限定 where 行限定
# 列限定 : 最终查询的数据列,多个用逗号隔开,如果是查询所有列 , 就写*即可
# 表限定 : 要查询的表,多个用逗号隔开
# 行限定 : 一般是通过判断条件筛选符合条件的行
# 先执行表,在执行行,最后执行列
#查询所有的name和age
select `name`,age from student_info;
#查询年龄小于18的所有信息
SELECT * from student_info where age < 18;
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值