北京 | 深度学习与人工智能研修

12月23-24日

再设经典课程  重温深度学习
阅读全文
>

正文共4732个字,21张图,预计阅读时间:12分钟。

这篇文章主要是讲一下常见的MySQL的安装,和基本操作。适合完全没有MySQL知识但是又急需一些MySQL知识的童靴作为快速入门使用。

背景与安装

背景不用多说了,大家都懂得。直接说在Ubuntu下面的安装吧。其实也是很简单。这里不搞复杂的源码安装,就依次输入下面非常简单的命令安装就够了。

sudo apt-get install mysql-server 
sudo apt isntall mysql-client 
sudo apt install libmysqlclient-dev

中间会有弹出设置密码的界面,设置密码就是了。然后验证一下是不是安装上了MySQL,这里可以输入下面的命令(这个命令下面会解释)来登录mysql.

mysql -u root -p

然后输入你的密码,发现登录上去的界面,说明已经安装成功了。 

安装可视化界面

sudo apt-get install mysql-workbench

安装成功之后的第一件事情,就是调整字符集为utf8,毕竟身处中文地区,不希望有一些不想见到的乱码问题。

刚刚装好的mysql的配置文件地址在/etc/mysql/my.cnf,用任意一个文本文件打开他,复制下面这几句到文件中去(如下图)。

[mysqld] 
init_connect=’SET collation_connection = utf8_unicode_ci’ 
init_connect=’SET NAMES utf8’ 
character-set-server=utf8 
collation-server=utf8_unicode_ci 
skip-character-set-client-handshake

保存好之后,重新启动mysql服务,

sudo service mysql restart

登录mysql(前面刚刚讲),输入

show variables like ‘%character%’;

如上图,说明修改字符集成功了。

常用命令

1、连接和退出MYSQL

连接既可以本地连接,也可以远程连接。比如上面验证MySQL是不是已经装上去的时候,就登录过MySQL,其实这个也算是一种本地连接。那么连接MySQL的一般格式如下。

mysql -h(主机地址) -u(用户名) -p(密码)

例1:连接本地MySQL

mysql -u root -p

其实这里你就应该可以知道,-u后面是名为root的用户名,其实mysql为超级管理员默认了root的用户名,密码就是一开始安装mysql的时候设置的密码。所以这个命令还是挺好理解的。

2、创建和删除数据库

要是一开始没有任何的数据库的话,创建数据库肯定是最基本的一步啦,或者你想创建一个新的数据库的话。创建数据库也很简单。下面的命令就行。

创建:

create database databasename;(数据库名字)

删除:

drop database databasename;(数据库名字)

比如我想创建一个名字叫做cat的数据库,就照搬上面的创建模式就行了。(;标点不要掉了)

create database cat;

同样的,删除这个cat数据库也是类似的写法。

3、查看数据库信息和使用数据库

经过上面的创建的过程,你应该创建了一个数据库了,那么怎么查看当前用户拥有权限的数据库呢?就是show系列的命令啦。

show databases;

可以看到上面图中就有刚刚创建的cat这个名称的数据库啦。接下来就是使用某个数据库,命令也很简单。

use name;

很好理解,中文翻译过来就是使用名叫xx数据库,有一点要注意,就是用了这个命令之后,接下来的所有的操作都是在这个数据库下面了。直到关闭MySQL连接或者切换到另外一个数据库之前。比如下面以cat这个数据库为例子。

use cat;

从现在开始,接下来你做的操作都是在cat这个数据库下面,所以要清楚。

4、MYSOL常用类型

编程语言一样,MySQL也是有常用的数据类型的,熟悉其常用数据类型,是之后创建表和其他操作的基础。

MySQL的数据类型总体上可分为三类:数字,日期,时间和字符串类型。

数字数据类型

MySQL使用所有标准的ANSI SQL数字数据类型

INT : 正常大小的整数,可以带符号。如果是有符号的,它允许的范围是从-2147483648到2147483647。如果是无符号,允许的范围是从0到4294967295。 可以指定多达11位的宽度。

TINYINT: 一个非常小的整数,可以带符号。如果是有符号,它允许的范围是从-128到127。如果是无符号,允许的范围是从0到255,可以指定多达4位数的宽度。

SMALLINT - 一个小的整数,可以带符号。如果有符号,允许范围为-32768至32767。如果无符号,允许的范围是从0到65535,可以指定最多5位的宽度。

MEDIUMINT - 一个中等大小的整数,可以带符号。如果有符号,允许范围为-8388608至8388607。 如果无符号,允许的范围是从0到16777215,可以指定最多9位的宽度。

BIGINT - 一个大的整数,可以带符号。如果有符号,允许范围为-9223372036854775808到9223372036854775807。如果无符号,允许的范围是从0到18446744073709551615. 可以指定最多20位的宽度。

FLOAT(M,D) - 不能使用无符号的浮点数字。可以定义显示长度(M)和小数位数(D)。这不是必需的,并且默认为10,2。其中2是小数的位数,10是数字(包括小数)的总数。小数精度可以到24个浮点。

DOUBLE(M,D) - 不能使用无符号的双精度浮点数。可以定义显示长度(M)和小数位数(D)。 这不是必需的,默认为16,4,其中4是小数的位数。小数精度可以达到53位的DOUBLE。 REAL是DOUBLE同义词。

DECIMAL(M,D) - 非压缩浮点数不能是无符号的。在解包小数,每个小数对应于一个字节。定义显示长度(M)和小数(D)的数量是必需的。 NUMERIC是DECIMAL的同义词。

日期和时间类型

DATE - 以YYYY-MM-DD格式的日期,在1000-01-01和9999-12-31之间。 例如,1973年12月30日将被存储为1973-12-30。

DATETIME - 日期和时间组合以YYYY-MM-DD HH:MM:SS格式,在1000-01-01 00:00:00 到9999-12-31 23:59:59之间。例如,1973年12月30日下午3:30,会被存储为1973-12-30 15:30:00。

TIMESTAMP - 1970年1月1日午夜之间的时间戳,到2037的某个时候。这看起来像前面的DATETIME格式,无需只是数字之间的连字符; 1973年12月30日下午3点30分将被存储为19731230153000(YYYYMMDDHHMMSS)。

TIME - 存储时间在HH:MM:SS格式。

YEAR(M) - 以2位或4位数字格式来存储年份。如果长度指定为2(例如YEAR(2)),年份就可以为1970至2069(70〜69)。如果长度指定为4,年份范围是1901-2155,默认长度为4。

字符串类型

CHAR(M) - 固定长度的字符串是以长度为1到255之间个字符长度(例如:CHAR(5)),存储右空格填充到指定的长度。 限定长度不是必需的,它会默认为1。

VARCHAR(M) - 可变长度的字符串是以长度为1到255之间字符数(高版本的MySQL超过255); 例如: VARCHAR(25). 创建VARCHAR类型字段时,必须定义长度。

BLOB 或 TEXT - 字段的最大长度是65535个字符。 BLOB是“二进制大对象”,并用来存储大的二进制数据,如图像或其他类型的文件。定义为TEXT文本字段还持有大量的数据; 两者之间的区别是,排序和比较上存储的数据,BLOB大小写敏感,而TEXT字段不区分大小写。不用指定BLOB或TEXT的长度。

TINYBLOB 或 TINYTEXT - BLOB或TEXT列用255个字符的最大长度。不指定TINYBLOB或TINYTEXT的长度。

MEDIUMBLOB 或 MEDIUMTEXT - BLOB或TEXT列具有16777215字符的最大长度。不指定MEDIUMBLOB或MEDIUMTEXT的长度。

LONGBLOB 或 LONGTEXT - BLOB或TEXT列具有4294967295字符的最大长度。不指定LONGBLOB或LONGTEXT的长度。

ENUM - 枚举,这是一个奇特的术语列表。当定义一个ENUM,要创建它的值的列表,这些是必须用于选择的项(也可以是NULL)。例如,如果想要字段包含“A”或“B”或“C”,那么可以定义为ENUM为 ENUM(“A”,“B”,“C”)也只有这些值(或NULL)才能用来填充这个字段。

5、创建和删除表

有了上面对于MySQL基本数据类型的知识之后,就可以开始创建表了。首先大概的说一下创建表的基本格式。

CREATE TABLE table_name (column_name column_type);

删除表就用drop命令就行了。

DROP TABLE table_name ;

举例子时间:

需要创建一个表,表上记录的是班上学生的一些信息,学号,姓名,年龄,出生日期,身高,期末成绩这几项。就用之前新建的cat数据库来存放. 

解释:

首先是学号,这里用id来表示学号,INT类型,NOT NULL 表示非空, 
名字,使用可变字符存储,VARCHAR 
最后很重要的一点就是指定主键,这里指定id作为主键

这里可以用DESCRIBE命令来查看表的结构

DESCRIBE 表名称;

6、插入数据到表中

现在我们已经创建了一个表student_info,但是这个表是一个空表,所以,需要插入数据到这个表里面去。

一般的插入格式:

INSERT INTO table_name ( field1, field2,…fieldN ) VALUES ( value1, value2,…valueN );

例: 

在这里,插入了一个id为123,name为“leo”,年龄为24,生日为“1993-04-06”(注意是字符串形式)。。。的记录。

7、查询和删除记录语句

现在表里面已经有记录了,接下来的任务就是怎么查看表中的东西呢?那就是SELECT命令了,他的一般用法是:

SELECT field1, field2,…fieldN table_name1, table_name2… 
[WHERE condition1 [AND [OR]] condition2…..

删除记录:

DELETE FROM table_name [WHERE Clause]

这里要注意,如果WHERE子句没有指定,则MySQL表中的所有记录将被删除。

上面这个例子是选择表中id=123的所有字段,因为表中数据不够,暂时无法进行更加复杂的选择操作,以后会尽量选择更加复杂的操作。这里熟悉基本的使用方式就行了。

8、更新操作

在数据库中进行数据的更新是非常常见的,因为数据总不能一辈子不变吧,更新的操作的一般形式为:

UPDATE table_name SET field1=new-value1, field2=new-value2 [WHERE Clause]

上面的命令,从字面的意思上就很好理解了。非常简单。 

在这里,就把student_info中的age和birthday两个字段的信息改了。结果如下: 

9、Alter命令

http://www.yiibai.com/mysql/mysql_alter_command.html

http://www.python-requests.org/en/master/

原文链接:http://blog.csdn.net/xierhacker/article/details/60868455

查阅更为简洁方便的分类文章以及最新的课程、产品信息,请移步至全新呈现的“LeadAI学院官网”:

www.leadai.org

请关注人工智能LeadAI公众号,查看更多专业文章

大家都在看


LSTM模型在问答系统中的应用

基于TensorFlow的神经网络解决用户流失概览问题

最全常见算法工程师面试题目整理(一)

最全常见算法工程师面试题目整理(二)

TensorFlow从1到2 | 第三章 深度学习革命的开端:卷积神经网络

装饰器 | Python高级编程

今天不如来复习下Python基础


点击“阅读原文”直接打开报名链接

深度学习之主流数据库 | MySQL基础相关推荐

  1. 深度学习(6)TensorFlow基础操作二: 创建Tensor

    深度学习(6)TensorFlow基础操作二: 创建Tensor 一. 创建方式 1. From Numpy,List 2. zeros,ones (1) tf.zeros() (2) tf.zero ...

  2. 『深度应用』NLP机器翻译深度学习实战课程·零(基础概念)

    0.前言 深度学习用的有一年多了,最近开始NLP自然处理方面的研发.刚好趁着这个机会写一系列NLP机器翻译深度学习实战课程. 本系列课程将从原理讲解与数据处理深入到如何动手实践与应用部署,将包括以下内 ...

  3. 深度学习之感性理解-机器学习基础一

    深度学习之感性理解-机器学习基础一 机器学习是什么 机器学习用来干嘛的 机器学习是怎么做的 机器学习是什么 关于机器学习的定义,网上很多,我就不多说了,谈谈自己的理解.简单的说就是有一个事情想让计算机 ...

  4. 深度学习中的语音信号处理基础

    文章目录 音频处理流程 常用谱:幅度谱.梅尔谱 时域 --> 频域 分帧 窗长 帧移 语音信号特征获取流程 梅尔谱 使用 librosa 提取梅尔谱 使用 tacotron 获取梅尔谱(推荐) ...

  5. 【深度学习】深入浅出数字图像处理基础(模型训练的先修课)

    [深度学习]深入浅出数字图像处理基础(模型训练的先修课) 文章目录 1 图像的表示 2 图像像素运算 3 采样与量化3.1 采样3.2 量化3.3 图像上采样与下采样 4 插值算法分类 5 什么是池化 ...

  6. Tensorflow深度学习之十二:基础图像处理之二

    Tensorflow深度学习之十二:基础图像处理之二 from:https://blog.csdn.net/davincil/article/details/76598474   首先放出原始图像: ...

  7. DL:深度学习(神经网络)的简介、基础知识(神经元/感知机、训练策略、预测原理)、算法分类、经典案例应用之详细攻略

    DL:深度学习(神经网络)的简介.基础知识(神经元/感知机.训练策略.预测原理).算法分类.经典案例应用之详细攻略 目录 深度学习(神经网络)的简介 1.深度学习浪潮兴起的三大因素 深度学习(神经网络 ...

  8. 深度学习(11)TensorFlow基础操作七: 向前传播(张量)实战

    深度学习(11)TensorFlow基础操作七: 向前传播(张量)实战 1. 导包 2. 加载数据集 3. 转换数据类型 4. 查看x.shape, y.shape, x.dtype, y.dtype ...

  9. 深度学习(10)TensorFlow基础操作六: 数学运算

    深度学习(10)TensorFlow基础操作六: 数学运算 1. Operation type 2. + - * / % // 3. tf.math.log & tf.exp 4. log2, ...

最新文章

  1. 样本不均衡常见解决方法
  2. Bengio参与、LeCun点赞:图神经网络权威基准现已开源
  3. AutoRunner视图模式的合理使用
  4. android java包_android SDk中常用的java包介绍
  5. 如何自学Android--转
  6. mkyaffs2image编译
  7. boost::mp11::mp_nth_element_q相关用法的测试程序
  8. 史上最全JavaScript数组去重的十种方法(推荐)
  9. FMS集群的安装和配置
  10. 知名视频编辑工具:达芬奇剪辑调色软件 DaVinci Resolve Studio Mac v17.3.1
  11. Charles抓包工具实战教程(完结)
  12. PostMan 汉化
  13. hsqldb mysql 语法_hsqldb快速入门
  14. 郭盛华如今现状如何呢? 身价早过亿,网友:期待开直播
  15. while循环实例C语言,实例之while循环
  16. 【电力电子】【2012.07】基于功率因数校正的三相整流器设计与仿真
  17. 行存储 VS 列存储
  18. WPF中播放GIF图片
  19. SpringBoot+Dubbo+zookeeper整合
  20. 中兴微型计算机,售价2698元起!中兴首款5G视频手机AR线上发布

热门文章

  1. java加载js_Java加载js
  2. 一汽奔腾b7o价位_全新第三代奔腾B70有何资格对合资品牌降维打击?
  3. iis服务器修改内存,修改IIS的虚拟内存
  4. linux中内存管理方法的总结,Linux内存管理-free学习心得
  5. 经验与教训:测试员的偏向
  6. (转)C++优先队列中元素及结构体的排序
  7. LGD:涨点神器!旷视孙剑、张祥雨团队提出标签引导的自蒸馏技术,助力目标检测!...
  8. 中国人民大学金琴老师组,AI·M^3实验室招募视觉与语言方向硕博
  9. 数据类别不平衡/长尾分布?不妨利用半监督或自监督学习
  10. ECCV 2020 论文大盘点-自动驾驶篇