哪里找专业做网站的公司/火星时代教育培训机构学费多少
1.实验内容及原理
1. 在 Windows 系统中安装 VMWare 虚拟机,在 VMWare 中安装 Ubuntu 系统,并在
Ubuntu 中搭建 LAMP 实验环境。
2. 使用 MySQL 进行一些基本操作:
(1)登录 MySQL,在 MySQL 中创建用户,并对新建的用户赋予权限。
(2)创建并跳转到新的数据库,显示所有数据库和当前数据库。
(3)显示所有的表和查看表的属性。
(4)导入 emp loyees 和 sakila 两个样例数据库,对这两个数据库进行完整性检查,对这两个数据库进行备份、导入与导出。
3. SQL DDL 使用
(1) 创建 DDL 脚本,包括创建、删除表,指定主键、候选键和外键;
(2)修改并展示表结构;
(3)创建、删除索引。
4. SQL DDL & DML 使用
(1)数据的增、删、查、改等操作
(2)掌握视图的创建、删除和更新
5. 简单查询
(1)使用 order by、group by、having 等子句;
(2)使用各种谓词;
(3)使用集合函数;
(4)在时间字段上查询。
6. 复杂查询
(1)嵌套子查询;
(2)多表连接查询,包括左连接、右连接、外连接、 自连接。
7. 创建存储过程、函数和触发器,调用创建的存储过程、函数,触动触发器。
8. 安装并使用 phpmyadmin。
2.实验步骤与分析
1. 自行在 Windows 系统中安装 VMWare 虚拟机,在 VMWare 中安装 Ubuntu 系统,在
Ubuntu 中安装 LAMP 步骤如下(也可使用安装菜单):
sudo apt-get install updatesudo apt-get install apache2sudo apt-get install mysq l-serversudo apt-get install php
2. 熟悉 MySQL 的基本操作步骤如下:
(1)进入 MySQL:mysq l -u root -p
(2)创建新用户:CREATE USER 'newuser'@' localhost' IDENTIFIED BY 'password';
(3)赋予权限:GRANT ALL PRIVILEGES ON * . * TO 'newuser'@' localhost';
(4)创建新的数据库:CREATE DATABASE newdbname;
(5)跳转到新创建的数据库:USE newdbname;3
(6)显示所有数据库和当前数据库:SHOW DATABASES; SELECT DATABASE();
(7)显示所有的表并查看表的属性:SHOW TABLES; DESCRIBE tabname;
(8)导入两个样例数据库
① 解压数据包:unzip test_db_master.zip
② 进入数据包目录:cd test_db_master
③ 导入 emp loyee 数据库:sudo sudo mysql -t < emp loyees.sql
④ 解压数据包:unzip sakila-db.zip
⑤ 进入数据包目录:cd sakila-db
⑥ 进入 MySQL,导入 sakila schema 数据:SOURCE /path/to/sakila-schema.sq l
⑦ 导入 sakila 数据:SOURCE /path/to/sakila-data.sq l
(9)对导入的两个数据库进行完整性检查
① 查看外键检查状态:show variables like ‘%foreign_key_checks% ’;
② 查看主键检查状态:show variables like ‘%unique_checks% ’;
③ 查看外键检查结果:select @@foreign_key_checks;
④ 查看主键检查结果:select @@unique_checks;
(10)数据库备份(以 employee 为例)
① 不导出任何数据,只导出数据库表结构:
mysqldump -u test_02 -p --no-data emp loyees> employees_bak1.sq l
② 只导出数据,而不添加 CREATE TABLE 语句:
mysqldump -u test_02 -p --no-create-info employees> emp loyees_bak2.sq l
③ 导出全部数据库:
mysqldump -u test_02 -p emp loyees> emp loyees_bak3.sq l
(11)导出和导入(以 sakila 为例)
① 导出为 TXT 文件:
select * from country into outfile '/your/file/path/country';
② 导入 TXT 文件:
load data infile '/your/file/path/country' into table country;
③ 导出为 CSV 文件:4
select * from country into outfile '/your/file/path/country.csv';
④ 导入 CSV 文件:
load data infile '/your/file/path/country.csv' into table country;
⑤ 导出为 xml 文件:
mysql -u test_02 -p --xml -e 'select * from sakila.country' >
/your/file/path/country.xml
3. SQL DDL 使用
(1)使用 create 语句创建项目所有的表;
(2)使用 alter 命令修改表结构,删除某个表中的“xxx ”字段;修改某个表中
的“xxx ”字段的类型为 char(2),该字段不能为空,默认值为“m”;
(3)添加类型为 char(2)的‘xxx ’字段数据,添加是否成功,如果失败分析
失败的原因并进行必要的操作使字段添加成功;
(4)修改某个表,添加类型为 varchar2(18)的字段,并添加 check 约束,要求该
字段的长度为 18,并且只能由数字组成,并且指定该字段为候选键;
(5)设置某个表中某个字段的 check 约束为大于 0;设置某个字段默认值为“未
审核 ”,设置某个 ”字段的 check 约束为“未审核 ”、“ 审核已通过 ”、“ 审核不通
过”;
(6)在某个表中创建索引;
(7)使用 describe 命令展示表结构。
4. SQL DDL & DML 使用
(1) 使用 insert 语句将数据插入到相应的表中;
(2) 使用 delete 语句删除表中有关联表外建对应的记录,能否成功删除,如
果不能请分析原因;
(3) 使用 update 语句更新外键数据,能否成功修改,如果不能请分析原因。;
(4) 创建视图;
(5) 对视图进行查询操作;
(6) 对表进行联合查询操作;
(7) 更新视图,分析更新操作可以执行成功或失败的原因。5
5. 简单查询
(1) 查询性别为“ 男 ”的所有学生的学号、姓名和班级号;(单表简单查询)
(2) 查询 xxx 表,获得性别为“女 ”的记录,结果按照班级 ID 降序排列;(order
by)
(3) 查询 xxx 表,按照年龄从小到大排序;(获取子串函数、order by)
(4) 查询学号以“2002 ”开头的学生信息,字段包括学号、姓名、班级号;(使用子
串函数)
(5) 查询学号中包含“01 ”的学生信息,字段包括学号、姓名、班级号;(like)
(6) 查询状态为“未审核 ”,且申请时间在 2013 年 9 月 4 日之后的请假申请
单的信息,包含申请时间为 9 月 4 日的申请单;(单表多条件查询)
(7) 查询审核状态为“未审核 ”和“ 审批已通过 ”两种类型的申请单 ID;(in)
(8) 查询时间在 2013 年 8 月 31 日和 2013 年 9 月 2 日之间所提交的申请单 ID,
请假原因; (between、时间)
(9) 查询 XXX 老师所教课程的的选课人次(一人选两门课程,算两人次);
(10) 查询 XXX 老师所教课程的的选课人数(一人选两门课程,算一人);(distinct)
(11) 查询 XX 老师对请假单审核不通过的请假原因与学生姓名;
(12) 统计每门课的学生的个数(集合函数);
(13) 查询选课人数超 过 3 人 的课程 号 , 并按课程 号 降序排列( group by,
having,order by …desc)。
6. 复杂查询
(1)查询审批通过人数最多的课程名称和教师姓名;
(2)查询选课人数最多和第二多的课程名称和任课老师姓名; (选做)
(3)查询只选了课程《算法设计》的学生姓名;
(4)查询选修了全部课程的学生姓名;
(5)查询选修了课程 3 的学生学号、姓名、身份证号;
(6)据学生学号将 xxx 表与 xxx 表做自然连接查询;
(7)据学号将 xxx 表与 xxx 表进行左连接查询,并解释这样做所具有的业务含 6
义;
(8)据学号将 xxx 表与 xxx 表进行右连接查询,并解释这样做所具有的业务含
义;
(9)总结自然连接、左连接、右连接查询在产生的结果上面有什么区别。
7. 创建并调用存储过程、函数和触发器
(1)创建并调用存储查询过程(以 emp loyee 为例)
① 创建一个查询存储过程:
> delimiter##> create procedure select_manager(in fname varchar(20), in lname varchar(20))-> begin->select * from dept_manager natural join emp loyees where first_name = fnameandlast_name = lname;->end> ##
② 调用这个存储查询过程:call select_manager('Xiaobin','Spinelli');
(2)创建并调用函数(以 emp loyee 为例)
① 创建函数:
> delimiter ##> create function title_num(title_name varchar(50)) returns int> begin> declare num int;> select count(title) from titles where to_date > curdate() and title =title_name groupby title into num;> return num;> end> ##set g lobal log_bin_trust_function_creators=1;
② 调用函数:select title_num("manager");7
(3)创建并调用触发器(以 emp loyee 为例)
① 查看表 dept_manager:select * from dept_manager;
② 创建新表 quit:create table quit (emp_no int, depr_no char(4), quit_date
date);
③ 创建触发器:
mysql> delimiter ##mysql> create trigger after_ insert_ quit after insert on quit for each row-> begin-> update dept_ manager set to_ date = curdate( ) where emp_ no = 110039;-> end-> ##
④ 触发触发器: insert into quit values (110039, 'd001', curdate());
⑤ 查看新表 quit:select * from quit;
⑥ 再次查看表 dept_manager:select * from dept_manager;
8. 安装 phpmyadmin 步骤如下:
(1)安装 phpmyadmin:sudo apt-get install phpmyadmin
(2)安装 php-mbstring:sudo apt-get install php-mbstring
(3)安装 php-gettext:sudo apt-get install php-gettext
(4)编辑 php.ini: vim /path/to/php. ini 修改;extension=php-mbstring.so
(5)重启 Apache2:sudo /path/to/apache2 restart
(6)查看 IP 地址: ifconfig
(7)登录 phpmyadmin:从浏览器地址 your. ip.4.address/phpmyadmin
3.实验结果与总结
1. 自行在 Windows 系统中安装 VMWare 虚拟机,在 VMWare 中安装 Ubuntu 系统,在
Ubuntu 中安装 LAMP :
sudo apt-get install updatesudo apt-get install apache2sudo apt-get install mysq l-serversudo apt-get install php

安装 LAMP
2. 熟悉 MySQL 的基本操作:
(1)进入 MySQL:mysq l -u root -p
(2)创建新用户:CREATE USER 'newuser'@' localhost' IDENTIFIED BY 'password';
(3)赋予权限:GRANT ALL PRIVILEGES ON * . * TO 'newuser'@' localhost';
(4)创建新的数据库:CREATE DATABASE newdbname;
(5)跳转到新创建的数据库:USE newdbname;3
(6)显示所有数据库和当前数据库:SHOW DATABASES; SELECT DATABASE();

(如上图所示,mysql 基本操作均正常进行)

(其中的创建新用户步骤)
(7)显示所有的表并查看表的属性:SHOW TABLES; DESCRIBE tabname;

(8)导入两个样例数据库
① 解压数据包:unzip test_db_master.zip

(解压过程中)

(导入 sakila 数据库过程中)
② 进入数据包目录:cd test_db_master
③ 导入 emp loyee 数据库:sudo sudo mysql -t < emp loyees.sql
④ 解压数据包:unzip sakila-db.zip
⑤ 进入数据包目录:cd sakila-db
⑥ 进入 MySQL,导入 sakila schema 数据:SOURCE /path/to/sakila-schema.sq l
⑦ 导入 sakila 数据:SOURCE /path/to/sakila-data.sq l

(导入过程正常运行)
(9)对导入的两个数据库进行完整性检查
① 查看外键检查状态:show variables like ‘%foreign_key_checks% ’;
② 查看主键检查状态:show variables like ‘%unique_checks% ’;
③ 查看外键检查结果:select @@foreign_key_checks;
④ 查看主键检查结果:select @@unique_checks;

(四种检查的结果)
(10)数据库备份(以 employee 为例)
① 不导出任何数据,只导出数据库表结构:
mysqldump -u test_02 -p --no-data emp loyees> employees_bak1.sq l
② 只导出数据,而不添加 CREATE TABLE 语句:
mysqldump -u test_02 -p --no-create-info employees> emp loyees_bak2.sq l
③ 导出全部数据库:
mysqldump -u test_02 -p emp loyees> emp loyees_bak3.sq l
(11)导出和导入(以 sakila 为例)
① 导出为 TXT 文件:
select * from country into outfile '/your/file/path/country';
② 导入 TXT 文件:
load data infile '/your/file/path/country' into table country;
③ 导出为 CSV 文件:4
select * from country into outfile '/your/file/path/country.csv';
④ 导入 CSV 文件:
load data infile '/your/file/path/country.csv' into table country;
⑤ 导出为 xml 文件:
mysql -u test_02 -p --xml -e 'select * from sakila.country' >
/your/file/path/country.xml

(导出过程)

(导出的文本文档内容)
(导出结果)
相关文章:

数据库——LAMP的搭建及MySQL基操
1.实验内容及原理 1. 在 Windows 系统中安装 VMWare 虚拟机,在 VMWare 中安装 Ubuntu 系统,并在 Ubuntu 中搭建 LAMP 实验环境。 2. 使用 MySQL 进行一些基本操作: (1)登录 MySQL,在 MySQL 中创建用户,并对…...

抗原设计与兔单B细胞技术的结合-卡梅德生物
随着生物医学研究的不断深入,抗体疗法作为治疗疾病的有力工具逐渐成为研究的焦点。而兔单B细胞技术作为抗体研究的创新方法,其与抗原设计的有机结合为获取定制抗体打开了崭新的创新之路。本文将深入探讨抗原设计与兔单B细胞技术相互融合的原理、优势&…...

在uniapp中使用背景渐变色与背景图不生效问题
list上有文字详情以及背景图,从背景可以看出是渐变色和 背景图片的结合。 因为使用到渐变色,所以要结合 background-blend-mode 属性来实现与背景图片叠加显示,否则只通过 background: linear-gradient(); background-image: url(); 设置不会…...

Java中XML的解析
1.采用第三方开元工具dom4j完成 使用步骤 1.导包dom4j的jar包 2.add as lib.... 3.创建核心对象, 读取xml得到Document对象 SAXReader sr new SAXReader(); Document doc sr.read(String path); 4.根据Document获取根元素对象 Element root doc.getRootElement(); …...

React快速入门之交互性
响应事件 创建事件处理函数 处理函数名常以handle事件名命名 function handlePlayClick() {alert(Playing);}传递事件处理函数 函数名、匿名两种方式! function PlayButton() {function handlePlayClick() {alert(Playing);}return (<Button handleClick{handl…...

浅谈WPF之ToolTip工具提示
在日常应用中,当鼠标放置在某些控件上时,都会有相应的信息提示,从软件易用性上来说,这是一个非常友好的功能设计。那在WPF中,如何进行控件信息提示呢?这就是本文需要介绍的ToolTip【工具提示】内容…...

Android Studio 如何隐藏默认标题栏
目录 前言 一、修改清单文件 二、修改代码 三、更多资源 前言 在 Android 应用中,通常会有一个默认的标题栏,用于显示应用的名称和一些操作按钮。但是,在某些情况下,我们可能需要隐藏默认的标题栏,例如自定义标题栏…...

对于c++的总结与思考
笔者觉得好用的学习方法:模板法 1.采用原因:由于刚从c语言面向过程的学习中解脱出来,立即把思路从面向过程转到面向对象肯定不现实,加之全新的复杂语法与操作,着实给新手学习这门语言带来了不小的困难。所以ÿ…...

Flask 账号详情展示
Flask 账号详情展示 这段代码是一个基于Flask框架的Python应用程序。 它包含了两部分代码:Python代码和HTML代码。 web/templates/common/tab_account.html <div class"row border-bottom"><div class"col-lg-12"><div cla…...

软件测试/测试开发丨Pytest 参数化用例
参数化 通过参数的方式传递数据,从而实现数据和脚本分离。并且可以实现用例的重复生成与执行。 参数化应用场景 测试登录场景 测试登录成功,登录失败(账号错误,密码错误)创建多种账号: 中⽂文账号,英⽂文账号 普通测试用例方法 …...

MATLAB中./和/,.*和*,.^和^的区别
MATLAB中./和/,.*和*,.^ 和^ 的区别 MATLAB中./和/,.*和*,.^ 和^ 的区别./ 和 / 的区别.//实验实验结果 .* 和 * 的区别.**实验实验结果 .^ 和^ 的区别.^n^n实验运行结果 MATLAB中./和/,.和,.^ 和^ 的区别 …...

Flask 与微信小程序对接
Flask 与微信小程序的对接 在 web/controllers/api中增建py文件,主要是给微信小程序使用的。 web/controllers/init.py # -*- coding: utf-8 -*- from flask import Blueprint route_api Blueprint( api_page,__name__ )route_api.route("/") def ind…...

node.js express框架开发入门教程
文章目录 前言一、Express 生成器(express-generator)二、快速安装1.express框架express-generator生成器安装2.使用pug视图引擎创建项目,projectName 为项目名称自定义 三、安装热更新插件 nodemon四、目录结构1. public文件夹2.routes路由其他请求方式…...

Spring系列学习二、Spring框架的环境配置
Spring框架的环境配置 一、Java环境配置二、 Spring框架的安装与配置三、Maven与Gradle环境的配置四、IDE环境配置(Eclipse与IntelliJ IDEA)五、结语 一、Java环境配置 所有编程旅程总是得从基础开始,如同乐高积木大作的基座,首先…...

基于飞浆OCR的文本框box及坐标中心点检测JSON格式保存文本
OCR的文本框box及JSON数据保存 需求说明 一、借助飞浆框出OCR识别的文本框 二、以圆圈形式标出每个框的中心点位置 三、以JSON及文本格式保存OCR识别的文本 四、以文本格式保存必要的文本信息 解决方法 一、文本的坐标来自飞浆的COR识别 二、借助paddleocr的draw_ocr画出…...

ubuntu 安装docker GPG error缺少公钥解决方法
文章目录 报错信息解决方案 报错信息 W: GPG error: http://mirrors.aliyun.com/docker-ce/linux/ubuntu focal InRelease: The following signatures couldn’t be verified because the public key is not available: NO_PUBKEY 7EA0A9C3F273FCD8 E: The repository ‘http:…...

Laravel的知识点
1.{{ }} 是在 HTML 中内嵌 PHP 的 Blade 语法标识符,表示包含在该区块内的代码都将使用 PHP 来编译运行。 2.两种写法 3.return void 在这段注释中,"return void" 表示该函数或方法没有返回值。这意味着它执行某些操作或任务,但…...

STM32 基础知识(探索者开发板)--103讲 通用定时器
定时器溢出时间计算方法: Tout ((arr 1) * (psc 1)) / Ft us arr:自动重装载值 psc:时钟预分频数 定时器相关实验通用步骤 1.定时器初始化 a.定义结构体句柄 b.设基地址 c.设分频系数 d.设自动重装载值 e. 设计数模式 f.初始化定时器 2.外设模式配置 a.设置模式 d.映…...

mysqld_exporter使用
下载自己解压好 https://github.com/prometheus/mysqld_exporter/releases/download/v0.15.1/mysqld_exporter-0.15.1.linux-amd64.tar.gz在需要监控的数据库上执行 CREATE USER monit_test* IDENTIFIED BY Sfn4ZCHsK WITH MAX_USER_CONNECTIONS 3; GRANT PROCESS, REPLICATI…...

Java 解决远程调用 ssl 证书认证问题
Java 解决远程调用 ssl 证书认证问题 方法 1方法 2方法 3 方法 1 在 jdk 目录导入证书。 首先要下载 服务器 ssl 证书,下载完成之后。把它命名成 Root.cer 后面使用 cmd 命令行 在 jdk 目录导入。 例如 : jdk 的目录为:D:\JetBranins\Intel…...

kubernetes(k8s) Yaml 文件详解
YAML格式:用于配置和管理,YAML是一种简洁的非标记性语言,内容格式人性化,较易读。 1、查看API 资源版本标签 kubectl api-versions 2、编写资源配置清单 kubectl create -f nginx-test.yaml --validatefalse 2.3 查看创建的po…...

手拉手后端Springboot整合JWT
环境介绍 技术栈 springbootmybatis-plusmysqljava-jwt 软件 版本 mysql 8 IDEA IntelliJ IDEA 2022.2.1 JDK 1.8 Spring Boot 2.7.13 mybatis-plus 3.5.3.2 Json Web令牌简称JWT Token是在服务端产生的一串字符串是客户端访问资源接口(AP)时所需要的资源凭证。…...

小狐狸GPT付费2.4.9 去除授权弹窗版
后台安装步骤: 1、在宝塔新建个站点,php版本使用7.2 、 7.3 或 7.4,把压缩包上传到站点根目录,运行目录设置为/public 2、导入数据库文件,数据库文件是 /db.sql 3、修改数据库连接配置,配置文件是/.env 4、…...

Scrapy爬虫中合理使用time.sleep和Request
概述 在Scrapy爬虫中,我们需要深入分析time.sleep和Request对象对并发请求的影响。time.sleep函数用于在发起请求之前等待一段时间,而Request对象用于发送HTTP请求。我们必须仔细考虑这些操作对其他并发请求的潜在影响,以及在异步情况下可能…...

在Spring Cloud中使用Ribbon完成一个简单的负载均衡demo
Spring Cloud系列断更了有一段时间了,这段时间最近都在忙着项目上的事,天天修复bug以及调整需求,反正各种操劳,了解业务需求,然后开发相关功能,很久都没碰Spring Cloud系列的相关文章了,最近回头…...

mysql-5.6.16的内存泄漏问题
一、背景 有一台物理机上一个版本为5.6.16的从库出现了内存的增高,观测其日志可以发现,这台数据库已经oom很多次了,并且stop slave的时候会卡住非常长的时间才能停止 二、根本原因 上述的现象可以看到是一个明显的内存泄漏现象,…...

相机内参标定理论篇------相机模型选择
相机种类: 当拿到一款需要标定内参的相机时,第一个问题就是选择那种的相机模型。工程上相机类型的划分并不是十分严格,一般来说根据相机FOV可以把相机大概分为以下几类: 长焦相机:< 标准相机:~&…...

java设计模式学习之【状态模式】
文章目录 引言状态模式简介定义与用途实现方式 使用场景优势与劣势在Spring框架中的应用状态示例代码地址 引言 设想你正在使用一个在线视频播放器观看电影。随着你的互动,播放器可能处于不同的状态:播放、暂停、缓冲或结束。每个状态下,播放…...

使用aspose.Words更新表格列宽
public static bool UpdateTableStyle(string filePath) { try { Document doc new Document(); //样式 Style style doc.Styles.Add(StyleType.Paragraph, "cellStyle"); style.Font.Name "simsun"; PageSetup pageSet doc.Sections[0].PageSetup; pa…...

pycharm 工具栏不见了
新版pycharm后, 菜单栏和工具栏不见了 目录 我发现的解决方法: 其他旧版的解决方法: 我发现的解决方法: 其他旧版的解决方法: 另外,一些使用pycharm的新手可能会由于不熟悉软件的功能而误操作ÿ…...