mysql单表操作

mysql

SQL分类:
DDL—数据定义语言:createalterdropdeclare
DML—数据操纵语言:selectdeleteupdateinsert
DCL—数据控制语言:grantrevokecommitrollback

用户操作
-- 增
create user '用户名'@ '本地主机IP' identified by '密码';
-- 删
drop user '用户名'@ '本地IP';

-- 改
-- 修改用户名
rename user '用户名'@ 'IP地址' to '新用户名'@ 'IP地址';
-- 修改密码
alter user '用户名'@ 'IP地址' identified by '密码';
-- 修改权限
grant 权限 on 表名 to 用户名;
revoke 权限 on 表名 from 用户名;
flush privileges;

-- 查
show grants for 用户名;
select user from mysql.user;  # 注册用户的信息存放在mysql.user表中

常见权限:select update delete alter

grant select ,insert,update on <>.<> to "用户名"@'主机IP';

如果是以前的MySQL版本,常使用password函数来进行修改密码

mysql> update mysql.user set password=password('123456') where user='root';

但是MySQL8之后,没有了password字段和password()函数,所以不能使用上面的修改密码的方法。
我们也还可以使用mysqladmin命令来进行修改

mysqladmin -u root -p '旧密码' password '新密码'
数据库操作
# 增
create database <数据库名>;
# 删
drop database <数据库名>;
# 改
alter database <数据库名> 新的选项信息;
# 查
show databases;

# 设置当前数据库
use <数据库名>;
# 显示当前数据库名
select database();
表的操作
-- 增
create table student (
    id int primary key auto_increment,
    name varchar(20) not null default 'name'
)ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- 删
drop table <表名>;
    
-- 改
truncate table <表名>; #清空表数据 
alter table <旧表名> rename to <新表名>; #修改表名
    
-- 查
show tables from <库名>;  #查看所有表
show tables from <库名> like 'pattern';

表的创建需遵循三范式原则

对表列操作
-- 增
alter table <表名> add column <列名> <列数据类型> after <某一列>;
alter table <表名> add column <列名> first;
-- 删
alter table <表名> drop column <列名>;
-- 改
alter table <表名> change <原列名> <新列名> <新列数据类型>;
# 查看表结构
show columns from <表名>;


# 删除主键属性(它没有删除主键列,只是这一列不再是主键)
alter table <表名> drop primary key;
# 添加主键
alter table <表名> add column <列名> <类型> primary key;
alter table <表名> change <原列名> <新列名> <类型> primary key;

​ 表列的属性:主键primary key,唯一索引unique,普通索引index,外键foreign key;自增auto_increment,非空not null,默认值default 0;数据类型

数据类型

整数:tinyint smallint mediumint int bigint

浮点数:float double decimal

字符串:char, varchar, text 对应 binary, varbinary, blob

时间:datetime timestamp date time year

枚举 enum 集合 set

对表行操作
# 增
insert into <表名> set <列名1> = <1>,<列名2> = <2>,...;
# 删
delete from <表名> where <条件>;
# 改
update <表名> set <列名1> = <1>,<列名2> = <2>,... 
where <条件>;
# 查
select columns_name       -- 查找一列或多列,多列之间用逗号隔开
from <表名>                -- 目标表
where <条件>               -- 过滤条件
order by columns_name     -- 按列排序
limit <开始行>, <row_count>;   -- 对结果进行限定,开始行表示从哪行开始,row_count表示结果行数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值