MySQL库表练习

准备工作

[root@localhost ~]# vim /etc/my.cnf
[root@localhost ~]# cat /etc/my.cnf
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html

[mysqld]
character-set-server=utf8		//永久将数据库的字符集设置为utf-8
validate_password=off		//永久将密码策略关闭(不安全,为了后期允许tom用户的密码可以设置为“mysql”)
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
#
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid 

[root@localhost ~]# systemctl restart mysqld	//重启MySQL服务让配置生效

1、创建数据库school,字符集为utf8

mysql> CREATE DATABASE school DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
Query OK, 1 row affected (0.00 sec)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| school             |
| student            |
| sys                |
| test               |
| test1              |
+--------------------+
8 rows in set (0.00 sec)

mysql> show create database school;
+----------+-----------------------------------------------------------------+
| Database | Create Database                                                 |
+----------+-----------------------------------------------------------------+
| school   | CREATE DATABASE `school` /*!40100 DEFAULT CHARACTER SET utf8 */ |
+----------+-----------------------------------------------------------------+
1 row in set (0.00 sec)

2、在school数据库中创建Student和Score表

请添加图片描述
请添加图片描述

mysql> use school;		//进入school数据库
Database changed

mysql> create table Student(
    -> Id int(10) comment '学号' PRIMARY KEY NOT NULL UNIQUE AUTO_INCREMENT,
    -> Name varchar(20) comment '姓名' NOT NULL,
    -> Sex varchar(4) comment '性别',
    -> Birth year comment '出生年份',
    -> Department varchar(20) comment '院系' NOT NULL,
    -> Address varchar(50) comment '家庭住址'
    -> );
Query OK, 0 rows affected (0.01 sec)

mysql> create table Score(
    -> Id int(10) comment '编号' PRIMARY KEY NOT NULL UNIQUE AUTO_INCREMENT,
    -> Stu_id int(10) comment '学号' NOT NULL,
    -> C_name varchar(20) comment '课程名',
    -> Grade int(10) comment '分数' 
    -> );
Query OK, 0 rows affected (0.01 sec)

mysql> show tables;
+------------------+
| Tables_in_school |
+------------------+
| Score            |
| Student          |
+------------------+
2 rows in set (0.00 sec)

mysql> desc Student;
+------------+-------------+------+-----+---------+----------------+
| Field      | Type        | Null | Key | Default | Extra          |
+------------+-------------+------+-----+---------+----------------+
| Id         | int(10)     | NO   | PRI | NULL    | auto_increment |
| Name       | varchar(20) | NO   |     | NULL    |                |
| Sex        | varchar(4)  | YES  |     | NULL    |                |
| Birth      | year(4)     | YES  |     | NULL    |                |
| Department | varchar(20) | NO   |     | NULL    |                |
| Address    | varchar(50) | YES  |     | NULL    |                |
+------------+-------------+------+-----+---------+----------------+
6 rows in set (0.02 sec)

mysql> desc Score;
+--------+-------------+------+-----+---------+----------------+
| Field  | Type        | Null | Key | Default | Extra          |
+--------+-------------+------+-----+---------+----------------+
| Id     | int(10)     | NO   | PRI | NULL    | auto_increment |
| Stu_id | int(10)     | NO   |     | NULL    |                |
| C_name | varchar(20) | YES  |     | NULL    |                |
| Grade  | int(10)     | YES  |     | NULL    |                |
+--------+-------------+------+-----+---------+----------------+
4 rows in set (0.00 sec)

mysql> show create table Student;
+---------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table   | Create Table                                                                                                                                                                                                                                                                                                                                                                                                                                      |
+---------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Student | CREATE TABLE `Student` (
  `Id` int(10) NOT NULL AUTO_INCREMENT COMMENT '学号',
  `Name` varchar(20) NOT NULL COMMENT '姓名',
  `Sex` varchar(4) DEFAULT NULL COMMENT '性别',
  `Birth` year(4) DEFAULT NULL COMMENT '出生年份',
  `Department` varchar(20) NOT NULL COMMENT '院系',
  `Address` varchar(50) DEFAULT NULL COMMENT '家庭住址',
  PRIMARY KEY (`Id`),
  UNIQUE KEY `Id` (`Id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8                 |
+---------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

mysql> show create table Score;
+-------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table                                                                                                                                                                                                                                                                                                                |
+-------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Score | CREATE TABLE `Score` (
  `Id` int(10) NOT NULL AUTO_INCREMENT COMMENT '编号',
  `Stu_id` int(10) NOT NULL COMMENT '学号',
  `C_name` varchar(20) DEFAULT NULL COMMENT '课程名',
  `Grade` int(10) DEFAULT NULL COMMENT '分数',
  PRIMARY KEY (`Id`),
  UNIQUE KEY `Id` (`Id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8          |
+-------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

3、授权用户tom,密码mysql,能够从任何地方登录并管理数据库school。

mysql> create user 'tom'@'%' identified by 'mysql';		//创建tom用户,设置密码为“mysql”并允许从任何地方登录
Query OK, 0 rows affected (0.00 sec)

mysql> grant all on school.* to 'tom'@'%';		//授权tom用户数据库school的所有权限(允许管理school)
Query OK, 0 rows affected (0.00 sec)

4、使用mysql客户端登录服务器,重置root密码

mysql> grant all on *.* to admin@'%' identified by '123456';	//授权“admin”用户远程登录MySQL的所有权限,且密码为“123456”
Query OK, 0 rows affected, 1 warning (0.00 sec)

[root@localhost ~]# systemctl stop firewalld	//关闭防火墙(也可以选择写防火墙规则放行)

使用SQLyog进行客户端登录

  • MySQL主机地址填写服务端IP地址“192.168.25.133”
  • 用户名填写“admin”
  • 密码填写“123456”
  • 端口填写3306(服务器如果更改了端口号,需要填写更改后的端口号)
    在这里插入图片描述
    使用客户端登录成功
    在这里插入图片描述
    在客户端上重置root密码
    【注:需要选中需要执行的语句,然后点击下图中红圈框中的执行命令按钮,即可允许命令】
    在这里插入图片描述
    服务端上测试root密码重置效果
    在这里插入图片描述
    可以看到重置成功(原密码为“MySql@123”)
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
很抱歉,我无法提供完整的MySQL数据练习题及答案解析。但是,我可以给您提供一些常见的MySQL面试题,希望能对您有所帮助。 1. 什么是MySQL?它的特点是什么? 答:MySQL是一种开源的关系型数据管理系统,它拥有以下特点: - 开源、免费 - 跨平台性 - 高性能 - 可扩展性 - 可定制性 - 安全性 2. 如何在MySQL中创建? 答:可以使用以下语句来创建: ``` CREATE TABLE table_name( column1 datatype, column2 datatype, column3 datatype, ..... columnN datatype, PRIMARY KEY (one or more columns) ); ``` 3. 如何在MySQL中插入数据? 答:可以使用以下语句来插入数据: ``` INSERT INTO table_name (column1, column2, column3, ..., columnN) VALUES (value1, value2, value3, ..., valueN); ``` 4. 如何在MySQL中更新数据? 答:可以使用以下语句来更新数据: ``` UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition; ``` 5. 如何在MySQL中删除数据? 答:可以使用以下语句来删除数据: ``` DELETE FROM table_name WHERE condition; ``` 6. 如何在MySQL中查询数据? 答:可以使用以下语句来查询数据: ``` SELECT column1, column2, ... FROM table_name WHERE condition ORDER BY column_name ASC|DESC LIMIT count OFFSET offset; ``` 7. 如何在MySQL中连接多个? 答:可以使用以下语句来连接多个: ``` SELECT * FROM table1 INNER JOIN table2 ON table1.column = table2.column; ``` 8. 如何在MySQL中创建索引? 答:可以使用以下语句来创建索引: ``` CREATE INDEX index_name ON table_name (column1, column2, ...); ``` 以上是一些常见的MySQL面试题,希望能对您有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值