《数据库原理MySQL》第一次上机实验

练习:
查看 char 类型和 varchar 类型的说明,并分析 char 和 varchar 的存储区别。

? char
? varchar

在这里插入图片描述

char(n) 长度固定为n,最多可存储255个字符。如果实际存储的数据长度小于n,则MySQL会自动用空格字符补充,但是在检索操作中那些填补出来的空格会被去掉。ASSII占用1个字节,1个汉字占用2个字节。


在这里插入图片描述

varchar(n) 长度不固定,最大长度为65535个字节。它存储的是实际的字符串加1或2个字节用来记录字符串实际长度,字符串长度小于等于255字节用1字节记录,超过255就需要2字节记录。ASSII占用2个字节,1个汉字占用两字节

由于char数据类型长度固定,因此它比varchar类型的处理速度快。


实际使用中,可以通过使用关键字进行快速查询。
执行如下命令:

mysql> ? show
mysql> ? create database;

请写出 create databases 命令的语法

CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name
    [create_option] ...

create_option: [DEFAULT] {
    CHARACTER SET [=] charset_name
  | COLLATE [=] collation_name
  | ENCRYPTION [=] {'Y' | 'N'}
}

三、熟悉系统数据库
1.显示系统数据库

mysql> show databases;
显示结果如下(写出系统数据库名字)

在这里插入图片描述
2、选择 mysql 数据库

mysql> use mysql

在这里插入图片描述
3、显示 mysql 数据库中所有表格

mysql> show tables;
mysqls 数据库中有多少张表格

在这里插入图片描述
4、查看 user 表结构

mysql> desc user;
user 表格有多少个字段?

在这里插入图片描述

4、通过 user 表查看系统的用户信息

mysql> select user from user;
user 表中登记了多少个用户?请写出所有用户名

在这里插入图片描述

5、执行如下命令,写出结果并解释其功能:

mysql> select host ,user,password_last_changed from user;

在这里插入图片描述
功能:查看主机,用户,最后一次修改密码的时间

6、使用命令查看 db 表中所有用户(user)的查询权限(select_priv)。

mysql> select user,select_priv from db;

在这里插入图片描述
四、创建数据库
创建数据库语法:create database dbname;
1、使用命令创建数据库 jxgl

 mysql> create database jxgl;

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

mysql> use jxgl;
mysql> CREATE TABLE IF NOT EXISTS `Student`(
    -> Sno char(10) NOT NULL,
    -> Sname varchar(8),
    -> Ssex char(2),
    -> Sbirthday date,
    -> Sdept char(16),
    -> Speciality varchar(20),
    -> PRIMARY KEY(Sno)
    -> )ENGINE=InnoDB DEFAULT CHARSET=UTF8;

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

mysql> CREATE TABLE IF NOT EXISTS `Course`(
    -> Cno char(5) NOT NULL,
    -> Cname varchar(20) NOT NULL,
    -> PRIMARY KEY(Cno)
-> )ENGINE=InnoDB DEFAULT CHARSET=UTF8;

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

mysql> CREATE TABLE IF NOT EXISTS SC(
    -> Sno char(10) NOT NULL,
    -> Cno char(5) NOT NULL,
    -> Degree Decimal(5,1)
    -> )ENGINE=InnoDB;

在这里插入图片描述
3、使用 show 命令显示 jxgl 数据库中所有的表格。

mysql> show tables from jxgl;

在这里插入图片描述
4、使用 desc 命令显示 student 表结构:

mysql> desc student;

在这里插入图片描述

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在sqlplus环境中,以HR用户(模式)使用数据库,在此用户下回 答下列问题(手写所有问题的答案并上交): 1. 在未知HR用户 密码的情况下,如何以HR用户的身份登录到数据库中? 2. 以HR 用户登录到数据库后,如何列出HR用户(模式)拥有那些数据表? 3. 如何查看EMPLOYEES数据表的结构? 4. 如果要求在sqlplus 中以下列要求显示数据列,该如何实现,写出相应格式化命令。 a)EMPLOYEE_ID列相对于列宽右对齐显示列名“员工编号”,并 在显示编号时以4位数 字显示,当不足4位数字时,前端以添加0 补齐。 b)SALARY列要求所有值均显示两位小数(如果是整数也 显示两位小数00),并在头位 数字前显示本地货币符号“¥” 5. 设置sqlplus页宽为200字符,页高为100行,应使用什么 sqlplus命令实现? 6. 如何查看当前用户是什么数据库用户? 7. 如何将第4、5题中的格式操作命令保留下来,并在今后每次使 用sqlplus登录数据库后都 自动执行进行设置?写出操作过程 8. 编写脚本QueryJobHisByDept.sql,此脚本的执行结果是显示由用 户指定某部门中进行职位 变动的次数为用户指定次数的职员姓名 等相关信息。脚本的运行步骤要求如下(请注意,在 最后还有对 结果显示的额外要求,请自行确定在何处使用何种命令实现相应 要求): 1.清除所有column指令设置的格式设置 2. 取消对于替 换变量进行验证显示的选项(提示:verify环境变量)3. 设置 employee_id 列的显示列名“员工编号” 4. 设置employee_name 列的显示列名为“员工姓名” 5. 设置JobName列的显示列名为“ 现任职位” 6. 设置Salary列的显示列名为“薪金”,并设置在数 字前显示字符“$”符号 7. 设置Department列的显示列名为“工 作部门” 8. 设置Country_Name列的显示列名为“所在国家” 9. 设置页宽为200,页高为150 10. 显示“请输入部门名称:”,并 接受用户的输入 11. 显示“需要参数已设置,请按<Enter>键继 续” 12. 等待用户按Enter键,待用户按下Enter键后继续下面的 操作 13. 查询由用户指定的部门中的员工信息,包括职员编号( 列名为employee_id,来源于 Employees表)、职员姓名(列名为 employee_name,来源于Employees表,由First_name 和 Last_name拼接形成,First_Name和Last_Name之间使用“,”符号 分隔)、员工的 职位(列名为JobName,来源于Jobs表)、员工 的薪金(列名为Salary,来源于Employees 表)、员工所在部门 名称(列名为department,来源于Departments表的 Department_name 列),员工所在国家(列名为Country_name, 来源于countries表的Country_name列), 要求按照员工姓名升 序排列。 额外要求: 1. 对于具有相同的职员姓名的临近多个数据行,只 显示第一个数据行的职员姓名 2. 最终在脚本中形成的查询语句 以及查询结果保存到“c:\queryResult.txt”文件中。注意,只 保存查询语句及其查询结果及不可避免的截屏结束语句。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值