mysql的实验环境_第04 章 MYSQL实验环境创建

第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 各种数据类型的创建与讲解

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值