Mysql-sql常用操作总结

Mysql-sql常用操作总结

1.数据库操作

  • 建库
CREATE DATABASE mybatis_plus;
CREATE DATABASE `mybatis_plus` CHARACTER SET utf8 COLLATE utf8_general_ci; -- 指定编码格式utf8
  • 删库
DROP DATABASE IF EXISTS mybatis_plus;
  • 修改默认编码
ALTER DATABASE mybatis_plus CHARACTER SET utf8;

2.数据库-表操作

  • 建表
CREATE TABLE user
(
	id BIGINT(20) NOT NULL COMMENT '主键ID',
	name VARCHAR(30) NULL DEFAULT NULL COMMENT '姓名',
	age INT(11) NULL DEFAULT NULL COMMENT '年龄',
	email VARCHAR(50) NULL DEFAULT NULL COMMENT '邮箱',
	deleted INT(1) NULL DEFAULT NULL COMMENT '逻辑删除',
  version INT(1) NULL DEFAULT NULL COMMENT '乐观锁',
	create_time datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  update_time datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间',
	PRIMARY KEY (id)
)ENGINE=InnoDB;
  • 删表
DROP TABLE IF EXISTS user;
  • 添加字段
ALTER TABLE user02 ADD COLUMN 	
	create_time datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
ADD COLUMN 	
  update_time datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间';
  • 修改字段
#不修改字段名
ALTER TABLE user02 MODIFY name varchar(10) NOT NULL COMMENT '用户名';
#修改字段名
ALTER TABLE user02 CHANGE name username varchar(20) NOT NULL COMMENT '用户名';
  • 删除字段
ALTER TABLE user02 DROP COLUMN deleted;

3.索引(约束)的操作

  • 添加主键
ALTER TABLE user02 ADD PRIMARY KEY ( `id` )
  • 删除主键
ALTER TABLE user02 DROP PRIMARY KEY;
  • 添加唯一索引
ALTER TABLE user02 ADD UNiQUE ( `username` )
  • 添加普通索引
ALTER TABLE user02  ADD INDEX index_name ( `age` )
  • 添加全文索引
ALTER TABLE user02   ADD FULLTEXT (
`列名`
)
  • 添加多列索引
ALTER TABLE `表名` ADD INDEX index_name ( `列名1`, `列名2`, `列名3` )
  • 添加外键(很少使用,一般靠代码实现)
alter table 表名 add constraint fk_引用id foreign key(引用id) references 被引用表名 (被引用id)
 
alter table 表名 drop forign key fk_引用id

4.数据库的管理命令

  • 数据库连接
mysql -u root -p123456
# 或
mysql -u root -p
# 输入密码
  • 查看操作
-- 查看所有库
show databases;

-- 查看所在库的表
show tables;

-- 查看库的创建语句
show create database test;

-- 查看表的创建语句
show create table test;

-- 查看表的索引
-- show index from table_name(表名)
show index from users;

-- 查看mysql版本
select version();

-- 查看当前用户
select user();
  • 创建用户
-- 特别需要注意,在 MySQL 中,账号由两部分组成:
-- 1. user
-- 2. host
-- 即使 user 相同,只要 host 不同,也会被认为是不同账号。
-- 这样可以非常方便对来自不同 ip 地址的访问进行精细的权限控制。
-- 默认情况下,创建的用户 host 为 '%',这是一个匹配符,跟模糊查询里的意思一样,表示匹配所有
create user [用户名] identified by '[密码]';
create user vip identified by 'vippp';             -- 所有连接
create user vip@'127.0.0.1' identified by 'xxx';   -- 本地连接
create user vip@'192.168.%' identified by 'yyy';   -- 192.168 网段的连接
  • 删除用户
drop user 用户名;delete from mysql.user where user='用户名' and host='%';
  • 修改密码
set password from '用户名' @host=password('新密码');update mysql.user set password=password('新密码') where user='用户名' and host='%';
--使用password() 进行加密
  • 设置用户权限
grant all on *.* to vip@'127.0.0.1';   
-- 将所有数据库上的所有权利都授予通过本机连接的VIP用户;
 
grant all privileges on tests.* to vip@'%'; 
-- 将数据库tests上的说有权利都授予所有连接的vip用户;
 
grant select on books.users to vip@'%';  
-- 将books数据库上的users表的访问权限开发给vip用户;
 
grant all on *.* to vip@'%' with grant potions;  
--with grant potionss的意思是可以给vip给予权限给别的用户<br><br>flush privileges;  --设置权限后要刷新权限
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值