本文主要是介绍简道云 mysql_5.1 MySQL介绍,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
本节主题: 5.1 MySQL介绍
课程讲师: Charlie
观看地址: 点我进入
1 本节要点
了解MySQL的基本操作
2 课前准备
2.1 MySQL
2.1.1 安装MySQL
(建议将MySQL安装在服务器,便于我们进行后端开发时的数据库访问,所以大家可以花4元续费1周的服务器)
也可以安装在本地主机(如果MySQL安装在本地,那么封装接口后,除了要做穿透,还要保持本地机时刻开机,我们演示的话是以安装在服务器为例):
Windows安装MySQL教程:点我查看
Mac安装MySQL教程:点我查看
从XShell登录服务器:
升级 apt-get
sudo apt-get update
安装MySQL
sudo apt-get install mysql-server
如下图,出现是否继续后,输入Y,按回车即可继续安装
2.1.2 初始化MySQL
初始化MySQL配置
sudo mysql_secure_installation
会弹出下列所示的初始化的配置项,可依次输入你的选项。注意输入密码时,不会显示在shell中,直接输入后按回车即可!
#1
VALIDATE PASSWORD PLUGIN can be used to test passwords...
Press y|Y for Yes, any other key for No: N (我的选项)
#2
Please set the password for root here...
New password: (输入密码,注意,shell界面输入密码不会显示,并不是卡了)
Re-enter new password: (重复输入)
#3
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them...
Remove anonymous users? (Press y|Y for Yes, any other key for No) : N (我的选项)
#4
Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network...
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y (我的选项)
#5
By default, MySQL comes with a database named 'test' that
anyone can access...
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : N (我的选项)
#6
Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y (我的选项)
检查MySQL状态
systemctl status mysql.service
出现active表示正常
2.1.3 配置远程连接
#进入MySQL
sudo mysql -uroot -p
#出现Enter password: 后,输入你的密码并按回车(注意,shell界面输入密码不会显示,并不是卡了)
进入MySQL后,创建一个库 jdy_api (这个名字可以自定),用来进行测试
CREATE DATABASE jdy_api;
创建一个拥有所有库访问权限的访客账号(账号为user1,密码为123456,当然也可以自行更改)
MySQL 8.0之前的版本:
GRANT ALL PRIVILEGES ON *.* TO 'user1'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
# 或者可以这样,设置该账户只能访问jdy_api库
GRANT ALL PRIVILEGES ON jdy_api.* TO 'user1'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
#刷新权限
flush privileges;
#退出mysql
exit
MySQL 8.0及之后的版本:
CREATE USER 'user1'@'%' identified by '123456';
GRANT ALL PRIVILEGES ON *.* TO 'user1'@'%' WITH GRANT OPTION;
#设置该账户只能访问jdy_api库
CREATE USER 'user1'@'%' identified by '123456';
GRANT ALL PRIVILEGES ON jdy_api.* TO 'user1'@'%' WITH GRANT OPTION;
#刷新权限
flush privileges;
#退出mysql
exit
注:这样我们的Mysql已经就已经有了2个账号:第一个是管理员账号,用户名root,密码为安装时候设置的密码;第二个账号是访客账号,用户名user1,密码123456,后面在用Navicat和Python进行开发的时候,建议使用访客账号~
2.1.4 修改配置文件
这里要退出MySQL,到操作系统才可以进行下一步操作,如图,mysql> 表示在MySQL环境,root@xxxxx 表示在ubuntu操作系统;
修改MySQL配置文件
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
找到 bind-address= 127.0.0.1
按键盘 i 进入编辑模式,在bind前加上#
bind-address = 127.0.0.1 修改为(注释掉)
#bind-address = 127.0.0.1
按esc健,然后同时按shift 和 ;键(L健右边),在出现冒号后输入wq,按回车退出
重启MySQL服务即可
service mysql restart
2.1.5 开放阿里云安全组
按照文档 Linux基础 内的操作,开放3306端口(MySQL远程连接端口),同样为TCP协议。
2.2 Navicat
Navicat是一款方便的数据库管理工具,可远程连接数据库,通过可视化的界面对数据库进行管理。
下载地址:点我查看
进入Navicat后,点击新建连接,选择MySQL
填写连接名称、主机(ip地址)、端口为3306、访客用户名、访问密码(注意,不是root账号和root的密码!!!我们在2.1里面设置了2次密码,第一次是给root管理员设置密码,这个密码用来在服务器内登录服务器进行管理;第二次是给访问账号设置用户名和密码,这里填的是访客账号!!!)
填写后,双击即可连接上你服务器的数据库!
3 课程内容
3.1 MySQL
3.1.1 MySQL支持中文
需要在MySQL插入中文字符的话,需要将数据库、表单、字段的字符全部设置成utf-8的编码格式,才可以录入中文;
数据库:
表单:
字段:
3.1.2 数据类型
**文本类型 **
数字类型
日期类型
3.1.3 MySQL常见操作
//添加和删除数据库
查看当前有哪些DB: show databases;
添加DB:create database xx;
删除DB:drop database xx;
//创建数据表
create table tabel_name(
colum_name1 data_type1,
colum_name2 data_type2
);
//删除数据表
drop table table_name;
//修改某个数据列的名字或数据类型
alter table table_name change old_col_name new_col_name data_type
//查看表数据(重点!)
select*from table_name;
select col_name1,col_came2 from table_name;
//插入数据(重点!)
insert into table1 values (value1,value2)
insert table1 (col1,col2,) values (value1,value2)
//去重复
select distinct col_name1,col_name2 from table_name;
//使用order by对查询结果拍讯
按单一列名拍讯
select*from table_name [where子句] order by col_name [asc/desc]
按多列排序
select*from table_name [where子句] order by col1 [asc/desc],col2 [asc/desc]
//select结果按limit截取
select*from table_name [where] [order by] limit [offset,] rowCount
limit rowCount = limit 0,rowCount
//insert into与select组合使用
insert into table1 select col1,col2 from table2
insert into table1 (col1,col2) select col3,col4 from talbe
//更新数据表
修改单列:
update table_name set col_name = XXX [where]
修改多列:
update table_name set col1=xxx,col2=xxx [where]
//where语句中in操作符使用
select*from table1 where col1 in (value1,value2)
select*from table1 where col1 in (select col2 from talbe2)
//where语句中between操作符使用
select*from table_name where col_name between value1 and value2
select*from table_name where col_nmae not between value1 and value2
//where语句中like操作符使用 模糊匹配
select*from table_name where col_name [not]like pattern
pattern:匹配模式 'abc' '%abc' 'abc%' '%abc%'
这篇关于简道云 mysql_5.1 MySQL介绍的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!