与MySQL的零距离接触
- 格式:docx
- 大小:2.48 MB
- 文档页数:26
《与MySQL的零距离接触》笔记 目录:(按住Ctrl并单击可访问链接) 第一部份::MySQL基础 MySQL概述 MySQL的安装与配置 MySQL目录结构 修改编码方式 启动/停止MySQL服务 登陆/退出MySQL 修改MySQL提示符 MySQL常用命令 语法规范 操作数据库 第二部份::数据类型 整型 浮点型 日期时间型 字符型 第三部份::数据表操作 打开数据库 创建数据表 查看数据表 记录的插入与查找 空值与非空 自动编号及主键约束 唯一约束 默认约束 第四部份::外键约束 外键约束的要求解析 编程数据表的默认存储引擎 实例 外键约束的参照操作 第五部份::修改数据表 删除约束 添加约束 删除单/多列 添加单/多列 修改列定义和更名数据表 第六部份::数据表的记录操作 插入记录 单表记录更新UPDATE 单表删除DELETE 第七部份::查询表达式 select直接调用函数 查询表达式select_expr 条件查询WHERE 查询结果分组GROUP BY 分组条件HAVING order by对结果排序 限制查询结果返回的数量LIMIT 第八部份::子查询 导入数据 子查询基本概念 由比较运算符引发的子查询 由[NOT] IN/EXISTS引发的子查询 使用INSERT...SELECT插入记录时使用子查询 多表更新一步到位 第九部份::连接JOIN 连接的语法结构 三种连接的演示 关于连接的几点说明 自身连接 单表删除多张表的操作 第十部份::内置函数库 字符函数 数值运算符和函数 比较运算符和函数 日期时间函数 信息函数 聚合函数 加密函数 第十一部份::自定义函数 自定义函数简介 创建不带参数的自定义函数 创建带有参数 创建具有复合结构函数体的 第十二部份::MySQL存储过程 存储过程的简介 创建不带参数的存储过程 创建带有IN类型参数的存储过程 创建带有IN和OUT类型参数的存储过程 创建带有多个OUT类型参数的存储过程 存储过程与自定义函数的区别 第十三部份::MySQL存储引擎 存储引擎的简介及相关知识点 各种存储引擎的特点 设置存储引擎 第十四部份::MySQL图形化管理工具 phpMyAdmin MySQL Workbench Navicat for MySQL
-----课程来自《幕课网》@开然 2014.12.28 MySQL基础 MySQL概述: MySQL由瑞典MySQL AB公司开发,目前属于Oracle公司。 MySQL是一个开源的关系型数据库管理系统(是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据)。 MySQL分为社区版和企业版。 MySQL默认的端口号:3306 MySQL中的超级用户名:root MySQL的安装与配置: 安装方式:MIS安装(windows Installer)、ZIP安装两种方式。 配置MySQL: 1、 运行MySQL配置向导文件:MIS方式安装的需配置。 2、 启动MySQL服务:开始管理工具服务(本地)找到MySQL设置为自动,然后在计算机属性高级系统设置高级环境变量在系统变量找到path编辑,确定变量值后面已经启动了MySQL服务。 MySQL目录结构: /bin:存储可执行文件 /data:存储数据文件 /docs:文档 /include:存储包含的头文件 /lib:存储库文件 /share:错误消息和字符集文件 修改编码方式: 打开my.ini在[mysql]下添加或修改default-character-set=utf8,在[mysqld]下添加或修改character-set-server=utf8。 启动/停止MySQL服务: 方式一:服务(本地)里设置MySQL为启动/停止状态; 方式二:命令行输入:启动:net start mysql 停止:net stop mysql 登陆/退出MySQL: cdm运行后输入mysql -uroot -p 回车,提示输入密码,输入密码回车就可以了,如果刚装好的mysql,超级用户root使没有密码的,所以直接回车就可以进入mysql中了。出现提示符:mysql> 则表示已经进入 MySQL。 在登陆MySQL后,输入以下三个命令均可以退出MySQL(含分号):exit; quit; \q; 。 修改MySQL提示符: 方式一:通过参数指定:cdm运行登陆后输入命令:mysql –uroot –proot - -prompt \h 回车,提示符改为localhost,\h参数是服务器名称,指向localhost。 方式二: 通过prompt命令修改:同上,输入命令:prompt mysql> 回车,即可修改提示符为mysql。 对于提示符的参数,如右侧所示: 输入如下命令:prompt \u@\h \d> 回车后提示符变为:root@localhost (none)> MySQL常用命令: 1、 打印当前服务器版本:select version(); 2、 打印当前日期时间:select now(); 3、 打印当前用户:select user(); 语法规范: 1、 关键字与函数名称全部大写; 2、 数据库名称、表名称、字段名称全部小写; 3、 SQL语句必须以分号结尾。 操作数据库 1、 列出服务器的数据库:mysql>SHOW DATABASES; 2、 创建一个数据库名为abccs:mysql> CREATE DATABASE abccs; 列出创建的数据库,查看其字符集:(如下图字符集为latin1)
修改数据库,并设置字符集为utf8:
3、 选择所创建的数据库:mysql> USE abccs 回车出现Database changed,表示已经进入。 4、 删除一个数据库:mysql> DROP DATABASE abccs。 数据类型: 指列、存储过程参数、表达式和局部变量的数据特征,它决定了数据的存储格式,代表了不同的信息类型。数据类型有整型、浮点型、日期时间型、字符串。 整型: 计算机以二进制形式存储,符号位以0和1开头,1为有符号位。
浮点型: float单精度,double双精度 日期时间型: 字符型: 数据表操作: 是数据库最重要的组成部份之一,是其它对象的基础。 打开数据库:如下左图 mysql> USE abc; SELECT DATABASE(); 显示当前打开的数据库 创建数据表:如上右图 mysql> CREATE TABLE tb2( -> username VARCHAR(20), -> age TINYINT UNSIGNED, unsigned:无符号 -> salary FLOAT(8,2) UNSIGNED -> ); 查看数据表: mysql> SHOW TABLES; 查看数据表 mysql> SHOW COLUMNS FROM tb1; 查看数据表结构,如右图
记录的插入与查找: 向数据表中写入记录(全部/部份): mysql>INSERT tb1 VALUES('Tom',25,6456.55); mysql> INSERT tb1(username,salary) VALUES('John',8000.00); 查找全部的字符记录: mysql> SELECT *FROM tb1;
空值与非空: NULL,字段可以为空;NOT NULL,字段值禁止为空,如下例,在username输入时Null时会提示出错: mysql> CREATE TABLE tb3( -> username VARCHAR(20) NOT NULL, -> age TINYINT UNSIGNED NULL -> ); mysql> INSERT tb3 VALUES('Tony',null); mysql> INSERT tb3 VALUES(NULL,'26'); ERROR 1048 (23000): Column 'username' cannot be null 自动编号及主键约束: AURO_INCREMENT自动编号,且必须与主键组合使用,默认情况下,起始值为1,每次增量为1。 PRIMARY KEY主键约束,每张数据表只能存在一个主键,主键保户记录的唯一性,自动为NOT NULL,但主键不一定须与AURO_INCREMENT组合使用。 mysql> CREATE TABLE tb4( -> id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY, 将id定义为主键,并自动编号 -> username VARCHAR(30) NOT NULL -> ); mysql> INSERT tb4(username) VALUES('Tom'); mysql> INSERT tb4(username) VALUES('John'); mysql> INSERT tb4(username) VALUES('Rose'); 右图所示,实现自动编号。下面例子没有使用AURO_INCREMENT,当两个id号相同时,会报错: mysql> CREATE TABLE tb5( -> id SMALLINT KEY, PRIMARY可以省略 -> username VARCHAR(30) NOT NULL -> );
mysql> INSERT tb5(username) VALUES('Tom'); mysql> INSERT tb5 VALUES(4,'John'); mysql> INSERT tb5 VALUES(22,'Rose'); mysql> INSERT tb5 VALUES(22,'Hany'); ERROR 1062 (23000): Duplicate entry '22' for key 'PRIMARY' id号重叠,报错 唯一约束: UNIQUE KEY唯一约束,可以保证记录的唯一性,其字符段可以为空值NULL,每张数据表可以存在多个唯一约束。对比PRIMARY KEY只有一个约束,UNIQUE KEY可以有多个。 mysql> CREATE TABLE tb6( -> id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY, -> username VARCHAR(20) NOT NULL UNIQUE KEY, -> age TINYINT UNSIGNED);