设置mySQL字符集

支持中文的字符集是utf8,该设置可以更改mySQL配置文件进行全局设置,也可以针对数据库设置,也可以针对表设置,也可以针对列设置。字符集更改后新插入的数据生效,对以前不生效。

练习1:更改MySQL的默认字符集

直接修改 my.cnf,增加一行内容,然后重启 MySQL,使之全局生效,影响新建的所有数据库。

default-character-set = utf8

重启mySQL服务

root@ubuntuServer:~# /etc/init.d/mysql restart

查看全局默认字符集

查看支持的所有字符集

mysql> show character set;

练习2:为一个数据库指定字符集

指定数据库字符集后,该数据库下创建的表默认都采用该库指定的字符集。

1、创建数据库时,指定其字符集

CREATE DATABASE db DEFAULT CHARSET UTF8;

2、或者采用 ALTER 语法来转换字段的字符集

ALTER DATABASE db DEFAULT CHARSET UTF8;

使用图形管理界面也可以为数据库指定字符集

练习3:为 一个数据表指定字符集

指定数据表字符集后,该数据表里的所有字符型字段默认都使用该表指定的字符集。

1、创建数据表时,指定其字符集

CREATE TABLE tbl

(

......

) ENGINE = MyISAM DEFAULT CHARSET UTF8;

2、或者采用 ALTER 语法来转换字段的字符集

ALTER TABLE tbl CONVERT TO CHARACTER SET utf8;

3、采用其他客户端工具来设定,例如 Navicat/MySQL Front/PhpMyAdmin

练习4:为一个字段指定字符集

尽管数据表创建时已经指定默认字符集了,但是该表里面的字段还是可以指定自己的字符集的。

1、创建数据表时,指定其字符集

CREATE TABLE tbl

(

......

name CHAR(20) CHARACTER SET UTF8,

......

) ENGINE = MyISAM DEFAULT CHARSET UTF8;

2、或者采用 ALTER 语法来转换字段的字符集

ALTER TABLE tbl CHANGE name name CHAR(20) CHARACTER SET utf8;

3、采用其他客户端工具来设定,例如 Navicat/MySQL Front/PhpMyAdmin

练习5:设定客户端字符集

为客户端连接指定字符集,最好服务器的字符集一致。

设置putty字符集

查看姓名是乱码

点击“应用”。

MySQL存储引擎

MySQL存储引擎概述

插件式存储引擎是MySQL数据库最重要的特性之一,用户可以根据应用的需要选择如何存储和索引数据库,是否使用事物等。mySQL默认支持多种存储引擎,以适应不同领域的数据库应用需要。用户可以通过选择使用不同的存储引擎提高应用的效率,提供灵活的存储,用户设置可以按照自己的需要定制和使用自己的存储引擎,以实现最大程度的可定制性。

MySQL常用的存储引擎为MyISAM、InnoDB、MEMORY、MERGE,其中InnoDB提供事务安全表,其他存储引擎都是非事务安全表。

MyISAM是MySQL的默认存储引擎。MyISAM不支持事务、也不支持外键,但其访问速度快,对事务完整性没有要求。

InnoDB存储引擎提供了具有提交、回滚和崩溃恢复能力的事务安全。但是比起MyISAM存储引擎,InnoDB写的处理效率差一些并且会占用更多的磁盘空间以保留数据和索引。MySQL支持外键存储引擎只有InnoDB,在创建外键的时候,要求附表必须有对应的索引,子表在创建外键的时候也会自动创建对应的索引。

存储引擎各自的一些特点

上面提到的四种存储引擎都有各自适用的环境,这取决于它们独有的一些特征。主要体现在性能、事务、并发控制、参照完整性、缓存、 故障恢复,备份及回存等几个方面

目前比较普及的存储引擎是MyISAM和InnoDB.而MyISAM又是绝大部分Web应用的首选。MyISAM与InnoDB的主要的不同点在于性能和事务控制上。

MyISAM是早期ISAM(Indexed Sequential Access Method,我现在用的MySQL5.0已经不支持ISAM了)的扩展实现,ISAM被设计为适合处理读频率远大于写频率这样一种情况,因此ISAM以及后来的MyISAM都没有考虑对事物的支持,不需要事务记录,ISAM的查询效率相当可观,而且内存占用很少。MyISAM在继承了这类优点的同时,与时俱进的提供了大量实用的新特性和相关工具。例如考虑到并发控制,提供了表级锁。而且由于MyISAM是每张表使用各自独立的存储文件(MYD数据文件和MYI索引文件),使得备份及恢复十分方便(拷贝覆盖即可),而且还支持在线恢复。

所以如果你的应用是不需要事务,不支持外键。处理的只是基本的CRUD(增删改查)操作,那么MyISAM是不二选择。

1. 设置mysql的默认存储引擎

编辑my.cnf配置文件,在服务器端配置信息[mysqld]下面添加:

default-storage-engine = MyISAM

即可设置mysql数据库的默认引擎为MyISAM

2. 指定表的存储引擎

如:

create table t_innodb( id int(3))

engine = innodb;

然后使用

mysql> show table status like 't_innodb';

查看表的详细信息。

3. 修改表的存储引擎

ALTER TABLE t_name ENGINE = innodb;

更改默认存储引擎和表的存储引擎

4. 更改默认存储引擎

查看默认存储引擎

更改默认存储引擎

编辑配置文件

在[mysql]下添加

default-storage-engine = InnoDB

再次查看默认引擎,发现已经被更改

重启mySQL服务

5. 更表的存储引擎

双击某个表,可以更改表的存储引擎

使用命令更改

mysql> use schoolDB;

mysql> alter table TStudent engine=InnoDB;

使用管理工具更改

InnoDB存擎的特点

6. 自动增长列

自动增长列可以送给插入,但是插入的如果是空或者为0,则实际插入的值是自动增长后的值。

创建一个表,指定自动增长列,存储引擎innoDB。

create table au

(

studentid int not null auto_increment,

name varchar(10),

primary key(studentid)

)

engine=innodb CHARACTER SET UTF8,

插入记录,有空值且自增列也没按顺序

insert au values (1,'韩立刚'),(3,'韩立辉'),(2,'张京'),(null,'杨帅')

可以看到自增列的值

select * from au

外键约束

MySQL支持外键存储引擎只有InnoDB,在创建外键的时候,要求父表必须有对应的索引,子表在创建外键的时候也会自动创建索引

在删除更新父表时,对子表进行相应的操作,包括restrict、cascade、set null和no action

使用InnoDB存储引擎数据按主键顺序存放

如果不创建索引,数据以插入顺序存放

create table au1

(

studentid int,

name varchar(10),

)

engine=innodb

insert au1 values (1,'韩立刚'),(3,'韩立辉'),(2,'张京'),(8,'杨帅'),(6,'杨柳青')

select * from au1

给表添加主键

alter TABLE `au1` ADD PRIMARY KEY (studentid)

select * from au1

创建数据库和表

练习7:创建数据库

也可使用命令创建数据库

输入以下命令 create database SchoolDB; 选中执行

练习8:创建表

选中刚才创建的数据库 执行创建表的语句

创建学生表

create table TStudent

(StudentID nvarchar(15),

Sname nvarchar(10),

sex nchar(1),

cardID nvarchar(20),

Birthday datetime,

Email nvarchar(40),

Class nvarchar(20),

enterTime datetime )

创建课程表

create table TSubject

(

subJectID nvarchar(10),

subJectName nvarchar(30),

BookName nvarchar(30),

Publisher nvarchar(20)

)

创建分数表

create table TScore

(

StudentID nvarchar(15),

subJectID nvarchar(10),

mark decimal

)

练习9:使用图形界面产生表的SQL语句

使用图形界面可以产生创建、删除、更改对象的SQL语句。

使用mySQL帮助

查看mySQL帮助

练习10:查看帮助

如果你不知道帮助能够提供什么?输入

? contents

可以查看可用的帮助

输入? Data definition

查看创建表的语法

快速查阅帮助

在实际应用当中,如果需要快速查看某项语法时,可以使用关键字进行快速查询。比如想知道show命令都能看到些什么东西,可以使用如下命令。

查看数据库

查看创建数据库的命令

查看创建表的命令

mysql2教程_mySQL 教程 第2章 安装和介绍mySQL相关推荐

  1. mySQL 教程 第2章 安装和介绍mySQL

    第2章 安装和介绍mySQL 设置mySQL字符集 支持中文的字符集是utf8,该设置可以更改mySQL配置文件进行全局设置,也可以针对数据库设置,也可以针对表设置,也可以针对列设置.字符集更改后新插 ...

  2. php mysql5.7.110安装教程_MYSQL教程mysql5.7.19 winx64安装配置方法图文教程(win10)

    <MYSQL教程mysql5.7.19 winx64安装配置方法图文教程(win10)>要点: 本文介绍了MYSQL教程mysql5.7.19 winx64安装配置方法图文教程(win10 ...

  3. mysql8.0.17压缩包安装教程_mysql 8.0.16 压缩包安装配置方法图文教程

    本文为大家分享了mysql 8.0.16 压缩包安装配置方法,供大家参考,具体内容如下 运行环境:windows 10 x64 1.下载zip安装包: mysql8.0 for windows zip ...

  4. mysql数据库解压安装教程_MySQL数据库之windows 10下解压版MySql安装配置方法教程...

    本文主要向大家介绍了MySQL数据库之windows 10下解压版MySql安装配置方法教程 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. windows 10 下安装解压版的 ...

  5. mysql 8.0 手动安装教程_mysql 8.0.13手动安装教程

    本文为大家分享了mysql 8.0.13手动安装教程,供大家参考,具体内容如下 一.步骤解读 1.下载MySQL 下载地址 选择 Downloads-->Community-->MySQL ...

  6. mysql5.7下载及详细安装教程_MySQL 5.7 下载及安装教程(详细)

    一.准备工作 MySQL 下载地址 二.安装环境 Windows 版本:Windows 10 专业版 64bit MySQL 版本:MySQL 5.7.26 三.安装过程 1.解压并配置环境变量 1. ...

  7. mysql5.5免安装版教程_mysql 5.5.56免安装版配置方法

    mysql 5.5.56免安装版配置方法,本文通过文字代码详解,具体内容如下所示: 1. 下载mysql-5.5.56-winx64 网址: dev.mysql.com/downloads/mysql ...

  8. mysql 5.7免装版教程_mysql 5.7.9 免安装版配置方法图文教程

    #如果没有my-default.ini,可自己新建my.ini或者从其他地方中获取 ######################################################### ...

  9. mysql免压缩安装教程_MySql免解压版安装教程

    欢迎大家关注我的公众号,添加我为好友! 我之前用的数据库是Mysql5.5的数据库,不知大为什么突然有了一点点问题,重新卸载安装过也没有用,就试着用了免解压版的,搞了两天之后终于成功了,本人已经头晕目 ...

最新文章

  1. hackerrank杂记
  2. GOF对Builder模式的定义(转载)
  3. hdu1166敌兵布阵hdu1754I Hate It(线段树入门)
  4. DevCon工具基本使用
  5. 使用Aspose.Cell控件实现Excel高难度报表的生成(三)
  6. 【转】STO跨公司转储流程
  7. Memcache查看运行状况
  8. 机器学习中向量化编程总结记录
  9. XML文档的简易增删查改
  10. 去除div css背景,jQuery-拖动div CSS背景
  11. API 安全成企业考虑的第一要务
  12. java qq发送邮件
  13. 学习jquery.pagewalkthroung.js插件记录点
  14. 如何恢复回收站清空的文件?简单步骤教你操作
  15. 北京仁源欣生获200万美元天使轮融资,和玉资本领投
  16. 深入浅出工控机加固的那点事
  17. 团队项目开发——细思恐极
  18. 用 zotero 管理文献和个人知识库
  19. 谁最优秀?TurboMail WebMail功能盘点
  20. java.util.ServiceConfigurationError: org.apache.juli.logging.Log: Provider org.eclipse.jetty.apache.

热门文章

  1. matlab查找替换指令,使用matlab GUI在.txt文件中编辑特定数字使用搜索/替换
  2. HTML中button怎么填充GIF,css3给按钮添加背景渐变动画
  3. 微机原理实验2:多字节BCD加法实验
  4. Java多线程(5)--线程通信wait和notify
  5. Java面向对象(4)--封装和隐藏
  6. 打开服务器文件提示内存不够,打开服务器文件提示内存不够
  7. java中打开文件显示_在默认文件资源管理器中打开文件,并使用JavaFX或普通Java突出显示它...
  8. 我的2020(年终总结)
  9. springcloud微服务实战--笔记--1、基础知识
  10. execl中设置的格式无法实现