mysql配置和常用指令(不包含查询语句)


安装mysql

官网下载

https://dev.mysql.com/downloads/mysql/

环境配置

  • mysql拥有俩个文件目录
    • mysql软件目录(在软件目录的bin目录下实行mysql指令)
    • mysql数据目录(在数据目录处进行init配置)
  • 系统环境配置

在这里插入图片描述
在这里插入图片描述


软件指令

登录mysql

  • 本地数据库登录
mysql -u[username] -p[password] -A # 中括号中的变量需要替换指定值
  • 远程数据库登录
mysql -h110.110.110.110 -uroot -p123
//     主机ip            用户名  密码

登出mysql

mysql> exit;
# 或
mysql> quit;

修改密码

# 命令格式:
mysql> SET PASSWORD FOR [username]@[host]= PASSWORD([newpassword]);

# 示例
mysql> set password for lvlv@localhost=password('123456');

用户增删和权限增删

mysql> create user [username]@[host] identified by [password];
//增加用户
mysql> DROP USER [username]@[host];
//删除用户
mysql> GRANT [privileges] ON [databasename].[tablename] TO [username]@[host];
//用户授权
//privileges – 是一个用逗号分隔的赋予MySQL用户的权限列表,如SELECT , INSERT , UPDATE 等
mysql> REVOKE [privileges] ON [databasename].[tablename] FROM [username]@[host];
//解除用户权限

database和table操作指令

对数据库的操作

  • 创建数据库
  • 删除数据库
  • 查看所有数据库
  • 查看当前数据库
  • 连接数据库
# 创建数据库
mysql> create database [databasename];

# 删除数据库
mysql> drop database [databasename];

# 查看所有数据库
mysql> show databases;

# 连接所选数据库
mysql> use [databasename]

对表的操作

创建或删除表

# 创建表
mysql> create table [表名] ( [字段名1] [类型1] [is null] [key] [default value] [extra] [comment],
...多个字段名2
)[engine] [charset];

# 删除表
DROP TABLE [IF EXISTS] table_name1 [ ,table_name2, table_name3 ...]

  • 必写选项
    • 表名,字段名和字段类型
  • is null
    • 表示是否非空,不写就是可空
  • key
    • 设置是否是主键,外键,唯一键还是索引
  • default value
    • 设置默认值
  • extra
    • 其他的一些描述,比如能否自增auto_increment
  • comment
    • 注释
  • engine
    • 选择使用的存储引擎
  • charset
    • 存放的字符编码,默认是latin1

其他

  • 关于表操作的其他一些语句
# 修改表的字符集
alter table 表名 character set 字符集;

# 修改表名
alter table 表名 rename to 新的表名;

# 显示表的字符创建信息
show create table 表名;

# 查询某个数据库的所有表的名称:
show tables;

# 查询表结构:
desc 表名;

# 复制表:
create table 表名1 like 表名2;

# 清空表的数据:
delete from 表名;

# 删除表:
drop table if exists 表名;

对数据列的操作

# 添加一列
alter table 表名 add 列名 数据类型;

# 修改列名称
alter table 表名 change 旧列名 新列名 数据类型;

# 修改列数据类型
alter table 表名 modify 列名 数据类型;

# 删除列
alter table 表名 drop 列名;

数据操作指令

增删改数据

# 添加数据
insert into 表名(列名1,列名2)values{…};

# 删除数据
delete from 表名 where 条件;

# 删除全部记录
delete from 表名;

# 删除表并创建一个同名的空表(效率更高):
truncate table 表名;

# 修改数据
update 表名 set 列名1=1,列名2=2 where 条件

查找数据

详情请看mysql常用查询语句

事务指令

  • 什么是事务?
    如果一个包含多个步骤的业务操作,被事务管理,那么这些操作要么同时成功,要么同时失败
  • 事务常用指令
    • 开启事务:start transaction ;
    • 提交事务:commit
    • 回溯: rollback;
  • 给事务上锁
    • 多线程读取同一数据存在问题:
      • 读脏:一个事务,读取到另一个事务没有提交的数据
      • 不可重复读(虚读):在同一个事务中,两次读取到的数据不一样
      • 幻读:一个事务操作(DML)数据表中的所有记录,另一个书屋添加一条数据。则第一个事务查询不到自己的修改
    • 隔离级别 1->4 安全性越高 效率越低:
      • read uncommitted (读未提交) 产生1,2,3的问题
      • read committed 产生2,3的问题
      • repeatable read (可重复度)产生 3的问题
      • serializable (串行化,把表锁上) 解决所有问题
    • 乐观和悲观锁
      • 乐观锁:
        出现问题再上锁
      • 悲观锁:
        每一个步骤都上锁
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值