MySQL简介与概要
mysql 是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司,现在已经被sun公司收购,支持FreeBSD、Linux、MAC、windows等多种操作系统。相比于其他的大型数据库例如Oracle、DB2、SQL Server等相比功能稍弱一些
访问mysql的几种途径
1.使用工具MySQL官方的工具访问:MySQLAdministrator tool
2.使用第三方工具访问:mysqlexec、MySQL链接器
3.使用WEB方式访问:phpmyadmin(最常见)
比较:
使用客户端工具操作效率高,安全性高
使用web方式简单方便,不受限制
创建一个简单的数据库
CAEATE DATABASE db_name DEFAULTCHARACTER SET utf8;
例1:创建一个名为db1的数据库
mysql> CREATE DATABASE db1
例2:查看当前有哪些数据库中
mysql> SHOW DATABASES
说明:当我们创建了一个数据库后,在MySQL的数据文件夹下,就会有对应的文件了
例3:创建一个使用utf-8字符集的db2数据库
mysql> SHOW DATABASES db2 CHARACTER SET utf8
说明:该指令创建一个库db2,将来放入到该数据库的字符的默认编码就是utf8;
例4:创建一个使用utf-8字符集,并带校对规则(utf8_general_ci)的mydb3数据库(校对规则,可以理解成排序规则)
mysql> CREATE DATABASE db3 CHARACTER SET utf8 COLLATE utf8_general_ci
关于操作数据库的三个指令
- 显示当前所有数据库
mysql>SHOW DATABASE
- 显示你创建数据库的指令
mysql>SHOW CREATE DATABASE 数据库名;
- 删除数据库的指令
mysql>DROP DATABASE 数据库名;
创建表
我们为了把数据(记录)保存到数据库,因此需要创建表
基本语法
CREATE TABLE 表名
(字段名1 数据类型,
字段名2 数据类型,
字段名n 数据类型...);
说明:
(1)表中的字段数根据需求来设定
(2)这里表中的数据类型,指的是MySQL的数据类型
下面是完整的表的创建语法
CREATE TABLE 表名
(字段名1 数据类型,
字段名2 数据类型,
字段名n 数据类型...)
CHARACTER SET 字符集 COLLATE 校对规则 ENGIN 存储引擎方式 FIELD:指定列名 DATATYPE:指定列类型;
说明:
(1) 表也可以指定字符集
(2)如果数据库指定了字符集表也指定了字符集则以表的字符集为准,如果没有指定则以
表所在的数据库的字符集合校对规则
(3)engin就是存储引擎,比如常用的(MyISAM、InnoDB、Memory),如果创建表时指定了这个存储引擎,则以这个准,如果没有指定默认的,在my.ini中设置的有
MySQL的数据类型的基本介绍
- 整数型:TINYINT,SMALLINT,INT,BIGINT
- 小数学:FLOAT,DOUBLE,DECIMAL(M,D)
- 字符型:CHAR,VARCHAR
- 日期型:DATETIME,DATE,TIMESTAMP
- 备注型:TINYTEXT,TEXT,LONGTEXT
数值型
常用的基本:int、float、decimal
- int型:
四个字节,存放整数,存放的范围是-(2的31次方)~~(2的31次方-1),如果int是一个无符号的,则范围是0~4294967295
快速案例:创建一个int型的表
快速案例:
第一步:创建表前我们先得创建库,因为表在库中
第二步:指定在哪个库中创建表
use 库名
第三步:设置表名
mysql> CREATE TABLE 表名 (字段名 int:字段类型)
到这步之后我们在一个数据库中已经创建了一张表并有一个字段字段类型为int
- float 型 和 decimal型
float为浮点型decimal型,存放小数,精度高
例:
mysql> CREATE TABLE TEST200(id int,salary float(4,2),salary2 decinal(4,2))
说明:
(1)创建了一张表名为test200的表
(2)该表有三个字段
(3)salary字段是float(4,2)存放小数,范围是-99.99~99.99(4表示存放的数的位数,2表示小数点后的位数)
(4)salary2字段是decimal(4,2)存放小数,范围是-99.99~99.99
字符串型
char、varchar、text
- char型
char型:用于存放字符串,范围是1~255字符
varchar型,用于存放字符串,范围是1~65532字节
这里需要重点说明的是:
(1)varchar 能存放65532个字节
(2)varchar还有1-3个字节用来存放该字段的长度
(3)我们在创建表的时候,varchar(m),m这个值的大小和你当前的这个表的编码有关系,如果你的表的编码是utf8,m最大是21844字符,如果表的编码是gbk,这时我们定一个varchar(m)类型,m最大是32766,因为在gbk下,一个汉字是两个字节
- text:
文本型用来存放文本,如果你的内容较多,可以使用这个字段
日期型
- date型:存放日期
例:
mysql>CREATE TABLE test9(id int ,name varchar(90),birthday date);
综合案例:创建一个员工记录表要求如下
字段 | 属性 |
id | 整形 |
name | 字符型 |
sex | 字符型或bit型 |
brithday | 日期型 |
job | 字符型 |
salary | 小数型 |
resume | 大文本型 |
如下图操作:
说明:
(1)当我们在int整型后面增加unsigned后,就是一个无符号数
(2)我们子啊创建char或者varchar类型字段时,默认给一个‘’空字符
(3)如果我们使用小数,且如果要求的精度高,建议使用decimal