MySQL 初学者入门 汪伟华
课程介绍 MySQL 数据库 简单介绍 多平台安装 (Windows, Linux) MySQL 表的建立及查询 表的建立 增删改查及范围查询 MySQL 表设计 主外键建立 NOT NULL, AUTO_INCREMENT 等表列定义
课程建议 我应该做什么 实验, 实验, 实验!!! 多进行尝试, 不要怕犯错, 切勿半途而废 我不应该做什么 不要跳过视频 不要停止你的学习步伐 善于交流 主动对所学进行回顾梳理 你可以在 dbdao 贴吧将问题提出来, 我们会给予回复 课程中如果有错误或更好的建议, 请一定告诉我们哦
MySQL 数据库介绍
MySQL 数据库介绍 一个关系型数据库 (RDBMS) 一个开源数据库 MySQL AB -> Sun -> Oracle 大量的社区支持 很多分支如 Percona, MariaDB
第二大广泛使用的数据库
MySQL 特点 跨平台支持 (Windows, Linux, Mac OS X) SSL (Secure Sockets Layer) 支持 内嵌的 Database Library 多数据库引擎支持 (MyISAM, InnoDB 等 ) 更多特性
MySQL 安装 - Windows
MySQL 安装 - Windows 下载 MySQL 介质 www.mysql.com Windows 安装模式分 : msi zip 通过以下路径可以找对应安装模式的安装包 : Mysql.com Downloads Windows MySQL Installer (msi 介质 ) Mysql.com Downloads Community MySQL Community Server (zip 介质 ) Path 环境变量的设置 Zip 包安装注册服务 : C:\> "C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqld" install
MySQL 安装 - Linux
MySQL 安装 - Linux 首先推荐使用虚拟机软件来进行学习 ( 如 vbox, vmware) www.virtualbox.org 下载最新版 vbox 网卡设置选择 Bridged Adapter 以保证可访问外网 如果安装系统选不到 64 位, 请在你的电脑中进入 BIOS, 在 Virtualization 中启用 VT-x 或 AMD-V
MySQL 安装 - Linux 安装 Ubuntu www.ubuntu.com 找到 Desktop 系统下载即可 在 vbox 中安装完 Ubuntu 系统后, 登陆界面后, 记得安装 vboxadditions 以启用调整桌面功能 打开 terminal, 初始 root 密码 $ sudo passwd 切换到 root $ su root 通过 vbox 菜单安装 vboxaddtions, 安装成功后 Log out, 再重新登录即可
MySQL 安装 - Linux 关闭之前制作的系统 ( 备用 ), 并 Clone 一个新的来安装 MySQL 启动新 Clone 系统 dbdao_mysql_1, 并执行 : $ su root # apt-get update # apt-get install mysql-server 我们发现不是最新版本的 MySQL Do you want to continue? [Y/n] n
MySQL 安装 - Linux 打开 Ubuntu 自带的 Firefox 以访问 www.mysql.com, 下载最新版本 apt 源并安装 ( 这里按所安装的系统版本下载.deb 文件 )
MySQL 安装 - Linux 下载安装后执行以下语句, 出现设置界面, 选择相应版本并 Apply
MySQL 安装 - Linux 开始安装 $ su root # apt-get update # apt-get install mysql-server
MySQL 安装 - Linux MySQL 的启动和关闭 # service mysql start # service mysql stop # service mysql restart
MySQL 安装 - Linux 对于其他版本的安装的建议 推荐访问 http://dev.mysql.com/doc/ 直接查看相关版本的手册 了解不同 Linux 安装的不同之处, 如 : MySQL RPM 安装 : 注意 root 密码在安装后的存放位置 $HOME/.mysql_secret MySQL Redhat/Fedora/Enterprise Linux: 了解 yum 的命令使用
MySQL 远程访问
MySQL 远程连接 本地连接 登陆查看 root 权限 # mysql -uroot -p mysql> show grants;
MySQL 远程连接 远程连接 登陆 C:> mysql -h<remote_ip> -P<port> -uroot p ( 这里已经在 Windows 上装有 mysql 并设置了 path, 或者使用其他登陆工具如 MySQL Workbench 或 Navicat) 设置 ( 注意设置后重启 MySQL) 1. my.cnf/my.ini 参数 bind-address 设置 2. 权限设置 mysql> show grants; mysql> grant all privileges on *.* to 'root'@'%' identified by 'dbdao.com';
MySQL 基础知识 ( 一 )
MySQL 数据库表的增删改查 新建数据库 - CREATE DATABASE database_name 新建表 - CREATE TABLE table_name (column_name(s) data_type, constraints) 数据类型 : - INT, VARCHAR, TIMESTAMP 其他数据类型 : - TEXT - DATETIME, TIME - DOUBLE, FLOAT, DECIMAL, BOOL 和 BIGINT 等等更多数据类型可以查看 http://dev.mysql.com/doc/refman/5.7/en/data-types.html
MySQL 数据库表的增删改查 表行插入 - INSERT INTO table_name (column_name(s)) value ( value(s) ) 表查询 - SELECT * FROM table_name - SELECT DINSTINCT column_name FROM table_name 表的数据选择 (WHERE) - SELECT * FROM table_name WHERE column_name = value
MySQL 数据库表的增删改查 AND 多条件查询 - SELECT * FROM table_name WHERE column_name = value AND column_name = value OR 多条件查询 - SELECT * FROM table_name WHERE column_name = value OR column_name = value 表数据限制查询 LIMIT - SELECT * FROM table_name LIMIT start_index, count 表数据排序 - ORDER BY - SELECT * FROM table_name ORDER BY ASC/DESC
MySQL 数据库表的增删改查 表数据更新 - UPDATE table_name SET column_name= value WHERE 表结构修改 - ALTER TABLE table_name ADD COLUMN column_name data_type constraints - ALTER TABLE table_name DROP COLUMN column_name - ALTER TABLE table_name MODIFY COLUMN column_name data_type constraints 查看表结构 - DESCRIBE DESC table_name
MySQL 数据库表的增删改查 表行删除 - DELETE FROM table_name 表删除 - DROP TABLE table_name 表清空 - TRUNCATE TABLE table_name
MySQL 基础知识 ( 二 )
MySQL 数据库表的查询 表范围查询 BETWEEN - SELECT * FROM table_name WHERE column_name BETWEEN value AND value 表列建立别名 AS - SELECT column_name AS alias_name FROM table_name 表列多值查询 IN - SELECT * FROM table_name WHERE column_name in (value, value, ) 模糊查询 -LIKE 和通配符 %, _ - SELECT * FROM table_name WHERE column_name LIKE %value% - SELECT * FROM table_name WHERE column_name LIKE _alue 表合并查询 UNION - SELECT * FROM table_name UNION SELECT * FROM table_name - SELECT * FROM table_name UNION ALL SELECT * FROM table_name
MySQL 数据库表拷贝 表数据拷贝 - INSERT INTO table_name SELECT * FROM table_name 表部分列数据拷贝 - INSERT INTO table_name SELECT column_name, column_name FROM table_name 表结构拷贝 - CREATE TABLE table_name LIKE table_name
MySQL 基础知识 ( 三 )
MySQL 数据库表定义 主键 Primary Key - 大多在表的 ID 列建立主键 - 唯一值 - 不能为 NULL - 大多同时设置 AUTO_INCREMENT 外键 Foreign Key - 外键可以引用主键列 - 被外键引用的主键值对应的行不能被删除 - 需要在两个表之间建立引用关系 唯一键 Unique Key - 唯一值 - 可以为 NULL - 不能设置默认值
MySQL 数据库表定义 NOT NULL 和 AUTO_INCREMENT - NOT NULL 的列不能在插入或更新时设为 NULL 值, 这会导致执行报错 - AUTO_INCREMENT 实现了索引值, 它会在插入行时进行值的自动生成 DEFAULT - 默认值可以设置为一个函数或一个值, 当列值插入更新时不设定值时, 进行默认填写 - CURRENT_TIMESTAMP - column_name DEFAULT value
MySQL 基础知识 ( 四 )
MySQL 数据库表连接 内连接 Inner Join - SELECT * FROM table_name INNER JOIN table_name ON table_name.column_name=table_name.column_name 左连接 Left Join / 右连接 Right Join - SELECT * FROM table_name LEFT RIGHT [OUTER] JOIN table_name ON table_name.column_name=table_name.column_name Full Join - SELECT * FROM table_name LEFT JOIN table_name ON table_name.column_name=table_name.column_name UNION SELECT * FROM table_name RIGHT JOIN table_name ON table_name.column_name=table_name.column_name
写在最后
写在最后 这里并不是课程的终点 新的课程材料和讲义将会按需添加 请关注 dbdao.com 或贴吧来了解新的课程内容 学会通过 Internet 进行学习 更多地在课程之外进行试验并参与讨论
使用学习分享 D B D A O 关注大数据科学