MySQL数据库入门学习 #CSDN博文精选# #IT技术# #数据库# #MySQL#
大家好,小C将继续与你们见面,带来精选的CSDN博文~
又到周一啦,上周的系统化学习专栏已经结束,我们总共一起学习了20篇文章,这周将开启全新专栏《放假不停学,全栈工程师养成记》
在这里,你将收获:
- 将系统化学习理论运用于实践,系统学习IT技术
- 学习内容涵盖数据库、软件测试、主流框架、领域驱动设计和第三方生态等,离全栈工程师更近一步
- 精心整理的CSDN技术大咖博文,假期学习实现弯道超车
下面就进入这个专栏的第一天学习吧~
本文转自CSDN博主@数学家是我的理想
1. 前言
作者作为一名大二在校生,因为正在学习网页设计,考虑到后台问题,所以便自学了数据库,可能给大家总结的不是很全,但是一些必要的点肯定会讲到。现在市场上有很多图形化的数据库,没有什么可讲的,读者如果愿意,自行下载研究即可,本文章讲的全是在DOS环境下的一系列操作。
2. MySQL基础知识
3. 进入MySQL
工欲善其事必先利其器,如果连MySQL如何打开都不知道,那如何进行操作学习呢,所以接下来讲解的就是,如何在DOS环境下进入MySQL。
**4.数据库的基本操作 **
show databases;
create database XX(数据库名);
这里我创建了一个名为“hello”的数据库,显示“OK”,表示成功
create database XX(数据库名) charset = (字符编码,例如utf8);
我们平时学的中文的字符编码是“utf-8”,但是在MySQL里面,中文字符编码是“utf8”,这点希望读者注意。
如果我们创建已存在的数据库,会发生什么事呢?下面我就创建一个已经存在的“test”数据库
果然,报错了,它告诉我,不能创建数据库“test”,因为这个数据库已经存在了,所以我们创建数据库的时候判断一下,如果不存在就创建
create database if not exists XX(数据库名);
看到没,显示“OK”,没有报错了,但是有一个警告,这个警告就是告诉用户,”test“这个数据库存在。
还有个问题,有的人创建数据库起的名字和关键字相同,会发生什么呢?(关键字就是MySQL中有特定作用的词,比如说“show”、“create”)
create database `XX`(数据库名);(注意,这里``是反引号,在键盘tab上面)
show create database XX(数据库名);
这里可以看到,我刚才创建的“test”数据库,默认的字符是拉丁的,我之前创建的数据库,我设定了它的字符是中文,所以显示是“utf8”
alter database XX(数据库名) character set utf8;
drop database XX(数据库名);
很明显,报错了,因为不存在“a”这个数据库,我们可以判断一下,这个数据库存在才删除,下面给出代码。这里就不演示了,跟创建一样的。
drop database if exists XX (数据库名字);
use XX(数据库名);
选择数据库在我的理解更像是“进入数据库”,因为好比图书馆,我得进入一个某一个库,才能进行书架和图书的操作。
**5.数据表的基本操作 **
数据表的基本操作全都是在选择了数据库的前提下,请读者注意,下面的所有例子,都是在“test”的数据库内的操作
create table XX(表名)(
字段1名 数据类型,
字段2名 数据类型,
.......
字段n名 数据类型
);
数据类型:int 整型tinyint 整型(0-256) decimal 浮点型(总位数,小数位数) 例如 decimal(3,1)char(X) 定长字符型 例如 char(10)varchar(X) 可变长度字符型 例如varchar(10)text 大段文本binary 二进制(存储照片等)
null:空
not null:不为空
default 'XXXX':默认值
auto_increment:自动增长
primary key:主键(主键的特点,不为空,不重复,一个表只能有一个主键,但是一个主键可以由多个列组成)
这些初学者用不到,讲起来很复杂,所以这里就不讲了,有兴趣的读者可以去百度自行了解。
show tables;
我在前面就提过,一个MySQL里面有多个数据库,所以,一个数据库里面也可以有多个表,当然,一个表里面也可以有多个数据
这里因为我只在“test”数据库里创建了一个数据表“stu”,所以显示了一个
show create table XX(表名);
show create table XX(表名) \G;
上面两段代码都是显示创建表,只不过显示的样式不同,读者随意选择一种即可
describe(或desc) XX(表名);
显示表结构就会展示表中有哪些字段,分别是什么类型,有没有默认值,为不为空,哪个是主键
drop table XX(表名);
drop table XX,XX,XX......;
**5.数据的基本操作 **
数据的操作算是整个MySQL中最复杂的部分,虽然概括起来无非就是“增删查改”,但每一项底下包含的内容非常之多,作者在这里只能尽量为大家解释比较重要的操作
insert into XX(表名) (字段1,字段2,字段3......) values (值1,值2,值3.......);
这里,我插入两组数据,分别是学号为“2016101”,姓名为“李白”,成绩是“83”和学号为“2016102”,姓名为“杜甫”,成绩是“91”的两位同学的信息
这里本来应该按照顺序给大家讲删除数据的,但是因为想给的大家看一下插入数据之后,表内变成什么样了,让大家加深印象,所以这里讲查询数据,首先给大家介绍一个知识点——运算符
比较运算符 >、>=、<、<=、=(比较和赋值都是"=")、<>(不等于)
逻辑运算符 and(与)、or(或)、非(not)
select * from XX(表名);
举个例子,我们查询stu表下的所有数据,因为我等会讲的例子涉及到“性别”,所以我提前新增了一个字段名叫“sex”
select 字段1,字段2,字段3......(或用"*"代替所有字段) from XX(表名);
举个例子,我们查询“id”字段底下所有的数据,那么”id“下有哪些数据,就会展现出来
select * from XX(表名)where 字段1 = 值1 and 字段2 = 值2 and ......;
这段代码的意思是,从某个表中找出满足条件一且满足条件二的数据,例如,我们想要寻找成绩等于91分,且性别为女的学生信息
这里也可以改成,我们想寻找成绩大于90分或者成绩小于60分的学生信息,那么代码就应该是
select * from stu where score > 90 or score < 60;
select * from XX(表名) order by 字段x asc;(默认就是升序)
select * from XX(表名) order by 字段x desc;
select * from XX(表名) where 字段x = 值x oreder by 字段x asc(desc);
select * from XX(表名) limit n;
select * from XX(表名) limit n,m;
select * from XX(表名) order by 字段x asc(desc) limit n;
这几条语句之所以不附上例子,是因为考虑到读者如果有耐心看到了这里,那么你应该基本掌握了MySQL的语法,不再需要例子去模仿,只需要告诉你使用什么语句,所以下面的代码也是一样,不再附上例子
delete from XX(表名) where 字段x = 值x;
update XX(表名) set 字段1 = 值1,字段2 = 值2 where 条件;
update XX(表名) set 字段1 = 值1;
- sum(); 求和 select sum(字段x) from XX(表名);
- avg(); 求平均值 select avg(字段x) from XX(表名);
- max(); 求最大值 select max(字段x) from XX(表名);
- min(); 求最小值 select min(字段x) from XX(表名);
- count(); 记录数 select count(字段x) from XX(表名);/select max(*) from XX(表名);
- 在某字段条件下使用函数 select 函数名() from XX(表名) where 字段x = 值x;
MySQL数据库入门学习 #CSDN博文精选# #IT技术# #数据库# #MySQL#相关推荐
- 软件设计模式详解 #CSDN博文精选# #IT技术# #软件模式# #设计模式#
大家好,小C将继续与你们见面,带来精选的CSDN博文~ 又到周一啦,上周的系统化学习专栏已经结束,我们总共一起学习了20篇文章,这周将开启全新专栏<放假不停学,全栈工程师养成记> 在这里, ...
- Linux 学习路线图 #CSDN博文精选# #IT技术# #学习路线# #系统化学习#
大家好~我是小C,又见面啦!"文章过滤器"精选大咖干货.助力学习之路. <5天20篇CSDN精选博文带你掌握系统化学习方法>专栏将挑选有关"系统化学习方法&q ...
- gensim词向量Word2Vec安装及《庆余年》中文短文本相似度计算 | CSDN博文精选
作者 | Eastmount 来源 | CSDN博文精选 (*点击阅读原文,查看作者更多精彩文章) 本篇文章将分享gensim词向量Word2Vec安装.基础用法,并实现<庆余年>中文短文 ...
- 利用MTCNN和FaceNet实现人脸检测和人脸识别 | CSDN博文精选
作者 | pan_jinquan 来源 | CSDN博文精选 (*点击阅读原文,查看作者更多文章) 人脸检测和人脸识别技术算是目前人工智能方面应用最成熟的技术了.本博客将利用MTCNN和FaceNet ...
- 云原生开发环境初探 | CSDN 博文精选
作者 | 倚天码农 责编 | 屠敏 出品 | CSDN(ID:CSDNnews) 此前,我们分享了云原生的引申含义(https://blog.csdn.net/weixin_38748858/arti ...
- IntelliJ IDEA 2019.3 正式发布,给我们带来哪些新特性?| CSDN 博文精选
作者 | _YourBatman 责编 | 屠敏 出品 | CSDN 博客 前言 千呼万唤始出来.自从JetBrains在今年7月24日发布了IDEA 2019.2版本后,从9月份开始我便一直在关注此 ...
- 贝塞尔曲线之爱心点赞代码全解析!| CSDN 博文精选
作者 | 威威喵 责编 | 屠敏 出品 | CSDN 博客 直接步入正题,我们要实现的是一个 Android 客户端应用里面的一种点赞效果,比如你点一下那个爱心型的图片,就会产生一个小爱心,而且会以曲 ...
- 基于 Tensorflow 轻松实现 XOR 运算!| CSDN 博文精选
作者 | beyond_LH 责编 | 胡雪蕊 出品 | CSDN博客 对于"XOR"大家应该都不陌生,我们在各种课程中都会遇到,它是一个数学逻辑运算符号,在计算机中表示为&quo ...
- 干货:NIST评测(SRE19)获胜团队声纹识别技术分析 | CSDN博文精选
作者 | xjdier 来源 | CSDN博文精选 (*点击阅读原文,查看作者更多精彩文章) 近日,NIST说话人识别技术评测 (Speaker Recognition Evaluation,SRE) ...
- 使用自己的数据集训练MobileNet、ResNet实现图像分类(TensorFlow)| CSDN博文精选
作者 | pan_jinquan 来源 | CSDN博文精选 之前写了一篇博客<使用自己的数据集训练GoogLenet InceptionNet V1 V2 V3模型(TensorFlow)&g ...
最新文章
- 如何用Matlab求矩阵的秩、乘积、逆、行列式的值、转置
- 【2012百度之星资格赛】G:聊天就是Repeat
- win10计算机添加右键菜单,win10系统如何对鼠标右键菜单进行手动管理和添加
- 楚留香手游服务器维护,【楚留香手游】4.27日游戏维护公告
- django 项目中遇到的问题(持续更新中)
- 轻易致盲分类器!普渡大学提出光学对抗攻击算法:OPAD,想法奇特,性能有效!...
- oracle 表字段顺序_如何更改Oracle数据库表中字段顺序
- Bailian2796 Bailian3681 数字求和【序列处理】
- python二维列表长度_python如何使二维数组的高度大于长度
- CDN设置回源host的意义
- Leap抓取物体,在自带案例的基础上修改
- 十七世纪的常用对数表是怎么算出来的
- 个人或公司微信公众号迁移转让流程,公证需要资料,订阅号服务号转移教程,怎么迁移
- 快速简单的方法,彻底解决新浪微博自动关注营销号的问题
- 教你几招解决电脑假死现象
- react-router 5 管理路由
- 汉字转拼音的c++实现
- MultiSigWallet实例
- MongoDB最新最佳连接工具:Robo 3T
- UltraEdit v17 注册码破解
热门文章
- 分享几十年来记录下的编程技巧
- 串口IEC103协议
- sfr测试图像清晰度 C 语言,SFR分辨率测试卡的不足和改进
- 使用 ngrok(小米球)实现内网穿透映像到外网访问项目
- 用mysql搭建蚂蚁笔记_利用蚂蚁笔记搭建个人云笔记/博客
- 趣谈网络协议——UDP协议
- 省市区三级联动(拼接写法)
- SEP客户端部署方式及故障处理手册____借鉴文档的思路方法
- 台达编码器型号含义_台达伺服电机命名规则
- 安装SQL Server 2012 报错“启用windows功能NetFx3时出错”解决方法