MySQL表/用户权限等基本操作

文章提供了一系列MySQL数据库操作的练习题,包括创建数据库、表,移动和修改字段,改变存储引擎,处理外键以及用户权限的管理。重点讨论了InnoDB和MyISAM存储引擎的区别,前者支持事务和外键,强调数据一致性,后者不支持事务但读取速度较快。此外,还涉及了用户账户的创建、权限授予与回收。
摘要由CSDN通过智能技术生成

MySQL表操作练习题:

第一题:

具体要求如下所示:
在这里插入图片描述

1. 创建数据库Market:
CREATE DATABASE Market;
2. 创建customers表:

表结构如图所示:
在这里插入图片描述

CREATE TABLE customers( c_num INT(11) PRIMARY KEY, c_name VARCHAR(50), c_contact VARCHAR(50), c_city VARCHAR(50), c_birth DATETIME NOT NULL );
3. 移动字段:
ALTER TABLE customers MODIFY COLUMN c_contact VARCHAR(50) AFTER c_birth;
4. 修改字段数据类型:
ALTER TABLE customers MODIFY c_name VARCHAR(70);
5. 增加字段:
ALTER TABLE customers ADD c_gender CHAR(1);
6. 修改表名:
ALTER TABLE customers RENAME customers_info;
7. 删除字段:
ALTER TABLE customers_info DROP  c_city ;
8. 修改存储引擎:
 ALTER TABLE customers_info ENGINE=MyISAM;

检查:

mysql> SHOW CREATE TABLE customers_info\G;
*************************** 1. row ***************************
       Table: customers_info
Create Table: CREATE TABLE `customers_info` (
  `c_num` int(11) NOT NULL,
  `c_name` varchar(70) DEFAULT NULL,
  `c_birth` datetime NOT NULL,
  `c_contact` varchar(50) DEFAULT NULL,
  `c_gender` char(1) DEFAULT NULL,
  PRIMARY KEY (`c_num`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4

第二题:

要求如下:
在这里插入图片描述
这里第一小题存在问题,第二张表的c_id数据类型应该和依赖表的字段数据类型一致。
表结构:
在这里插入图片描述

1. 建表:
 CREATE TABLE orders( o_num INT(11) PRIMARY KEY AUTO_INCREMENT, o_date DATE, c_id INT(11), FOREIGN KEY (c_id) REFERENCES customers_info(c_num) );
2. 删除外键:
#查询外键名:
mysql> SHOW CREATE TABLE orders\G;
*************************** 1. row ***************************
       Table: orders
Create Table: CREATE TABLE `orders` (
  `o_num` int(11) NOT NULL AUTO_INCREMENT,
  `o_date` date DEFAULT NULL,
  `c_id` int(11) DEFAULT NULL,
  PRIMARY KEY (`o_num`),
  KEY `c_id` (`c_id`),
  CONSTRAINT `orders_ibfk_1` FOREIGN KEY (`c_id`) REFERENCES `customers_info` (`c_num`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
# orders_ibfk_1 外键名
#删除外键
ALTER TABLE orders DROP FOREIGN KEY orders_ibfk_1;

第三题:

实验要求及准备:
在这里插入图片描述
题目要求:
在这里插入图片描述

1. 用户创建&权限授予
#用户创建
create user account1@localhost identified by 'oldpwd1';
#授权
grant select,insert,update(info) on team.player to account1@localhost;
2. 修改密码刷新权限表:
set password for account1@localhost=password('oldpwd2');
flush privileges;
3. 查看权限:
mysql> show grants for account1@localhost\G;
*************************** 1. row ***************************
Grants for account1@localhost: GRANT USAGE ON *.* TO 'account1'@'localhost'
*************************** 2. row ***************************
Grants for account1@localhost: GRANT SELECT, INSERT, UPDATE (info) ON `team`.`player` TO 'account1'@'localhost'
4. 收回权限:
revoke all on team.player from account1@localhost;
5. 删除用户:
 drop user account1@localhost;

以上就是实验中所有的内容,该实验中包含了基本的表的操作。

MyISAM存储引擎与InnoDB存储引擎的区别:

在mysql5.5.5以前使用,MyISAM存储引擎。之后的版本使用InnoDB,那么InnoDB对比MyISAM最主要的区别就是支持事务与外部键。
那么事务的特性在于ACID,即原子性,一致性,隔离性,持久性。
而外键的特点在于,子表外键的值依赖于主表被依赖字段的范围或NULL,也可以对字段加非空约束。以及主表字段若被子表外键依赖,则该字段值不能被删除。
觉得有帮助烦请点个赞支持一下。
文章有问题请联系更正:wgq3135@163.com

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值