第二章初始MySQL
1.MySQL简介
MySQL的优势(适用于中小企业,最重要免费)
(1)运行速度快 (2)使用成本低 (3)可移植强 (4)使用用户广
my.ini:记录MySQL配置信息,可修改配置内容,如端口号,字符集等
2.MySQL运行机制
总的来说,接口连接到连接池有两种情况:(1)验证不成功就会返回到原来
(2)验证成功(如有缓存也会回到上一级)如未找到缓存就会继续进行SQL接口,解析,查询,优化到存储(一个一个的数据库)
查找相关内容返回
3.命令执行MySQL
语法:mysql-h服务主机地址(可省略不写)-u用户名-p密码
eg:mysql-uroot-proot 或mysql-uroot-p
4.创建数据库
语法:create database 数据库名;
eg:create database test_123;(;)是结束语,不可缺少
如图:
6.选择数据库
语法:use 数据库名
eg:use mybase;(必须填写存在的数据库,否则会报错)
7.删除数据库
语法:drop database 数据库名;
eg;drop database myschool;
8.SQLyong–图形化的MySQL管理工具
优点:免费 简洁高效 功能强大
9结构化查询语言
(1)DML(数据操作语言):用来操作数据库中所包含数据 eg:insert,update delete
(2)DDL(数据定义语言):用于创建,删除数据库对对象操作 eg:create,drop,alter
(3)DQL(数据查询语言):用来对数据库中数据进行查询 eg:select
(4)DCL(数据控制语言):用来控制数据库组件的存取许可,存取权限 eg:grant,commit rollback
10.MySQL数据类型–数值类型
类型 说明 存储需求
(1)TINYINT 非常小的数据 1字节
(2)SMALLINT 较小的数据 2字节
(3)MEDIUMINT 中等大小的数据 3字节
(4)INT 标准整数 4字节
(5)BIGINT 较大整数 8字节
(6)FLOAT 单精度浮点数 4字节
(7)DOUBLE 双精度 8字节
(8)DECIMAL 字符串形式浮点数 M+2字节
USINGNED属性:标识为无符号数
ZEROFLL属性:宽度(位数)不足以0填充
11.字符串类型
类型 说明 长度
CHAR[(M)] 定长字符串 M字节
VARCHAR[(M)] 可变字符串 可变长度
TINYTEXT 微型文本串 0-2的8次-1字节
TEXT 文本串 0-2的16次-1字节
12日期类型
类型 格式 取值范围
DATE YYYY-MM-DD 1001-01-01-9999-12-31
DATETIME YY-MM-DD hh:mm:ss 1000-01-01 00:00:00
TIME hh:mm:ss 838:59:59
TIMESTAMP YYYYMMDDHHMMSS 精度为11秒
YEAR YYYY格式的年份 1901-2155
注意:若某日期字段默认值为当前日期,一般设置TIMESTAMP
13.创建表
语法:
create table 表名(字段1,数据类型,[字段属性],[字段属性],[约束][索引][注释],…字段n 数据类型[字段属性][约束][索引]
[注释])[表类型][表字符集][注释];
eg:create table ‘student’(‘studentNO’ INT(4) PRIMARY KEY,‘name’ char(10)…);
注意:多字段使用逗号分隔
保留字用撇好括起来
单行注释:#… 多行注释:/…/
14.字段的约束以及属性
名称 关键字 说明
非空约束 NOT NULL 字段不允许为空
默认约束 DEFAULT 赋予某字段默认
唯一约束 UNIQUE KEY(UK) 设置字段的值是惟一的,允许为空,但只能有一个空值
主键约束 PRIMARY KEY(PK) 设置字段为表的主键,可唯一标识该记录
外键约束 FOREGIN KEY(FK) 建立两表关系,需要指定引用主表的哪一字段
自动增长 AUTO_INCREMET 自增字段,默认每条自增1,通常用于设置主键
15(1)主键
eg:
CREATE TABLE student(‘studentNo’ INT(4) PRIMARY KEY,…);
(2)注释
eg:
CREATE TABLE test(‘id’ int(11) USIGNED COMMENT ‘编号’)CoMMENT=‘测试表’;
(3)设置字符集编码
eg:CREATE TABLE[IF NOT EXISTS]表名(#省略代码)CHARSET=字符集名;
15.查看表是否存在
use myschool 或 show tables
16.查看表的定义
describe 表名 或 desc表名 避免DOS窗口乱码,可执行SET NAMES gbk;
17.删除
语法:drop table 表名 eg:drop table[IF EXISTS] school;
在删除表之前,先 使用IF EXISTS语句验证是否错误
18.存储引擎类型
MyISAM,InnoDB,Memory,CSV等
19.MyIAM与InnoDB区别:
名称 InnoDB MyISAM
事务处理 支持 不支持
数据行锁定 支持 不支持
外键约束 支持 不支持
全文索引 不支持 支持
表空间大小 较大,约2倍 较小
适用场合
使用MyISAM:不需要事务,空间小,以查询访问为主
适用InnoDB:多删除,更新操作,安全性高,事务处理及并发控制
20帮助功能
help 查询内容; eg:help contents;