第04 章 MYSQL实验环境创建

一、下载MY

https://dev.mysql.com/downloads/file/?id=476476

1.1 Oracle

http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html

driverClass:oracle.jdbc.driver.OracleDriverurl:jdbc:oracle:thin:@localhost:1521/dbname

1.2 MySql

https://dev.mysql.com/downloads/file/?id=476476

driverClass:com.mysql.jdbc.Driverurl:jdbc:mysql://localhost:3306/dbname

---测试数据库的文档:https://dev.mysql.com/doc/index-other.html

--PDF文档:https://downloads.mysql.com/docs/employee-en.pdf

---数据库下载地址:https://github.com/datacharmer/test_db

wget https://github.com/datacharmer/test_db.git

wget http://downloads.mysql.com/docs/sakila-db.tar.gz

--git下载方式(建议下载方式)

git clone https://github.com/datacharmer/test_db.git && cd test_db

mysql -uroot -p123456 -t < employees.sql

二、实战演示的内容

2.1 案例数据库的安装

--上传到/mysql目录下

--安装zip工具

yum install -y unzip zip

--解压

gz格式:

tar -zxvf sakila-db.tar.gz

zip格式:

unzip sakila-db.zip

cd test_db-master/

--核实存储引擎是否为innodb,如果不是需要改成与数据库一致

more sakila-schema.sql

more employees.sql |grep storage_engine //管道检索是否为innodb

default_storage_engine=innoDB

--修改文件的自动增删查操作

打开vim employees.sql文件,增加set autocommit=1语句,设置下面的增删改自动提交。

--

set autocommit=1

DROP DATABASE IF EXISTS employees;

--因为在my.cnf参数中设置为非自动提交。

[root@itpuxdb mysql]# cat my.cnf |grep autocommit

autocommit=0 #指事务非自动提交,自此句执行以后,每个SQL语句或者语句块所在的事务都需要显示"commit"才能提交事务。

---导入 employees.sql数据示范库,-t为显示导入表信息,-p需要密码

mysql -t < employees.sql -uroot -p

--验证导入数据库内容是否正常

sha方法1:

time mysql -t < test_employees_sha.sql -uroot -p

md5验证方法2:

time mysql -t < test_employees_md5.sql -uroot -p

--进入数据库

show databases;

use itpuxdb;

select count(*) from itpux_m5;

--有数据但是显示乱码。

-显示当前变量,含有char,查看字符集

show variables like 'char%';

-临时解决

set names utf8;

-永久解决,修改my.cnf参数,1为使用服务器端,0为使用本地终端。需要重新登陆MYSQL。

在字符集下增加skip-character-set-client-handshake=1

--

2.2 数据库的创建与管理

---数据库命名规范

数据库名不能超过30个字符,推荐使用下划线命名方式。

数据库命名必须为项目英文名称或有意义的简写。

数据库创建时必须 添加默认字符集和校对规则子句(排序规则)。

utf8:utf8_general_ci(推荐方式)方式不区分大小写; utf8_general_cs区分大小写;utf8_bin二进制;

命名应该使用小写。

---字符集选择

自开发系统的数据库UTF8作为 字符集的唯一选择,默认字符集为了UTF8.

--建议utf8和utf8_general_ci(推荐方式)

外购系统的字符 集按照开发和业务要求选择,需申请例外.

使用工具导出的数据脚本文件,必须在导出工具中,显示选择UTF8作为导出格式 .

在恢复 前需要编辑,必须使用纯文本方式找到开\编辑和保存,防止 隐含控制 字符(如^M)添加 进脚本.

在LINUX环境,可以通过 "cat -A脚本文件名"方式确认和检查是否携带了隐含控制字符.

--备注

unicode 万国码,统一码,单一码:ucs2,utf16,utf61e,utf8,utf8mb4,utf32;

utf8(推荐方式):1字符占1~3个字节. 国内最好使用此格式.原系统升级或者与老系统有交互的情景.

utf8mb4:1字符占1~4个字节. 跨国项目,可以兼容更多国家语言.新建全新系统,不与其他老系统对接.

---数据库设计规范

01.控制单实例表个数控制在3W以内.

02.控制单库表个数,建议单库不超过4096个表.

03 创建数据库的语句必须包含字符集子句和校对规则子句,如:

create database XXX [if not exists] default character set UTF8 default collate utf8_general_ci;

2.3 各种数据类型的创建与讲解

mysql的实验环境_第04 章 MYSQL实验环境创建相关推荐

  1. MySQL数据库https接口_第三章 mysql 数据库接口程序以及SQL语句操作

    mysql  数据库接口程序以及SQL语句操作 用于管理数据库: 命令接口自带命令 DDL:数据定义语言(create drop ) DCL: 数据控制语言(grant revoke) DML: 数据 ...

  2. mysql索引执行计划_第六章· MySQL索引管理及执行计划

    一.索引介绍 1.为什么要做索引 让获取的数据更具有目的性,从而提高数据库检索数据的性能 2.索引类型介绍 1)BTREE:树索引 B+树索引 B*树索引 2)HASH:HASH索引 3)FULLTE ...

  3. 【GNURadio实验报告】实验1-配置Ubuntu22.04+GNURadio开发调试环境

    [GNURadio实验报告]实验1-配置Ubuntu22.04+GNURadio开发调试环境 一.配置虚拟机环境 (一)什么是虚拟机 (二)安装VMware WorkStation (三)安装Ubun ...

  4. mysql架构组成_第 2 章 MySQL 架构组成

    麻雀虽小,五脏俱全.MySQL 虽然以简单著称,但其内部结构并不简单.本章从MySQL物理组成.逻辑组成,以及相关工具几个角度来介绍 MySQL 的整体架构组成,希望能够让读者对 MySQL 有一个更 ...

  5. mysql query 优化_第 8 章 MySQL 数据库 Query 的优化

    前言: 在之前"影响 MySQL 应用系统性能的相关因素"一章中我们就已经分析过了Query语句对数据库性能的影响非常大,所以本章将专门针对 MySQL 的 Query 语句的优化 ...

  6. linux shell 变量减法_第四章 shell和环境变量

    第四章 shell和环境变量 4.1    shell简介 4.1.1 编译器 一台计算机从基本架构上讲,由最基本的硬件组成硬件结构(如:cpu.内存.主板.声卡.显卡等),我们知道,硬件组成完备,但 ...

  7. docker mysql 生产环境_如何部署Docker MySQL生产环境?

    1 前言 Docker容器原则上是短暂的,如果容器被删除或损毁,数据或配置将丢失,所以上个章节部署的MySQL只适合于测试环境,由于生产的需求,本章将使用Docker卷机制持久保存Docker容器中创 ...

  8. 多个mysql 环境_关于几个MySQL环境问题的对比

    有时候出现了环境问题,对比是一种很好的方式,如果对比得当,可以避免反复的出现问题,可以根据对比的情况推理出一些可能出现的情况或者问题. 如果对比不当,很可能得出错误的结论.今天就简单举几个例子来说明一 ...

  9. mysql索引和数据完整性答案_第5章MySQL索引与完整性约束.ppt

    第5章MySQL索引与完整性约束 5.3.4 CHECK完整性约束 CHECK完整性约束在创建表的时候定义.可以定义为列完整性约束,也可定义为表完整性约束. 语法格式: CHECK(expr) [例5 ...

最新文章

  1. 令牌桶的自定义注解核心API演示
  2. Android官方技术文档翻译——Gradle 插件用户指南(7)
  3. ios开发text kit_IOS开发入门之TextKit详解
  4. ActiveMQ Cannot send, channel has already failed: tcp:127.0.0.1:8161
  5. linux下 安装tengine
  6. 【C++基础学习】C++中union结构
  7. Struts2中使用OGNL表达式语言访问静态方法和静态属性以及我遇到的问题和解决方法
  8. 在事件代码中访问类中变量的三种方法
  9. Linux创建sqlite数据库文件,SQLite数据库的创建与附加
  10. java打包拆包_关于java中JDK5的打包,拆包以及==和equals的问题
  11. Eclipse-JAVA版本
  12. java简单的数据库查询(SQLServer数据库)
  13. 图片PDF转word
  14. 几招最有效的防辐射的方法
  15. 刚入职的程序员小白你该如何提升自己?(新手看)
  16. 1.10 python 基本数据类型-集合
  17. 企业微信推送消息延迟_微信接收消息总是延迟?没有提醒,这3个功能赶紧设置一下...
  18. tplmap-模板注入工具
  19. 微服务09——中间件
  20. Python:enumerate函数

热门文章

  1. R语言distRhumb函数计算距离实战(两个地理点之间的Rhumb距离)
  2. 安装没有在R包仓库CRAN上托管的R包
  3. LinearAlgebra_1
  4. 自然语言处理发展历程自我总结
  5. 【编译】makefile使用
  6. mysql在win服务器上安装linux_MySql数据安装Linux+Windows
  7. 卫星图像中的车辆分析--A Large Contextual Dataset for Classification, Detection and Counting of Cars
  8. 人群密度估计--CrowdNet: A Deep Convolutional Network for Dense Crowd Counting
  9. LeetCode 144. Binary Tree Preorder Traversal--二叉树前序遍历--反向压栈--迭代-栈,递归--C++,Python解法
  10. Linux中的无人职守安装脚本kickstart