目录

一、数据库

二、数据库的使用

1.利用MySQL客户端访问数据库:

2.Windows建立连接

3.创建子账号

三、 数据库的创建

1.创建数据库

2.查询数据库

3.使用数据库

4.修改数据库参数

5.删除数据库

7.更新数据

8.数据表的基础知识

9.创建数据表

四、数据库中的记录

1.插入记录

2.修改数据表中的记录

3.删除记录

五、复制表

1.复制

复制数据表结构

复制表结构和表记录

将完整数据复制到复制表中

2.查看

查看数据表中所有记录

数据的导入与导出

六、命令的使用

单条件查询

AND多条件查询

OR多条件查询

UNION联合查询

ORDER BY 排序

JOIN表连接

七、数据库的运算符

1、算数运算符

2、比较运算符

八、数据库的函数

1.数学函数

2.字符串函数

3.日期和时间函数


关于数据库入门整理,多多支持,后续内容会继续补充,感谢。


关于MySQL数据库应用与设计任务的设计知识有:NySQL的下载,安装,配置,E-R图,概念设计,逻辑设计,数据类型,表,数据库,运算符,函数,约束,数据完整性,触发器,查询,视图,存储过程,安全,权限等知识。

随着互联网快速发展“L","N","M","P","R"分别代表着Linux、Nginx、MySQL、PHP、Redis这些都是后端开发工程师必备技能。

一、数据库

长期存储在计算机内有组织的可共享的大量数据集合,根本目的解决数据共享问题。

按照数据结构来组织、存储和管理数据的仓库。相当于可以提供多人使用管理的数据仓库。

数据库系统模型:层次模型,网状模型,关系模型

数据库的设计:概念设计、逻辑设计、物理设计

数据库管理系统(DBMS,database Management System)

常见数据库:

Oracle:支持LINUX、Windows等多平台处理强,适用于大型公司、机构等。

SQL SERVER:可运行在WindowsNT/2000/XP等操作系统。

ACCESS数据库:Microsoft公司,简单易学。

MySQL:开源、免费、多平台使用、运行快、用户权限设置简单等。

MySQL的特点:

1、可移植性强 2、运行快 3、支持多平台 4、支持各种开发语言 5、提供多种引擎

6、功能强大 7、安全性高 8、价格低廉

MySQL下载地址:http://dev.mysql.com/downloads/

MySQL可视化界面工具:Navicat

Navicat简介:一套快速、可靠并价格便宜的数据库管理工具,专为简化数据库的管理及降低系统管理成本而开发。

是拥有直观化的图形用户界面,它让用户可以以安全并且简单的方式创建、组织、访问和共享MySQL数据库中的数据。

可以用来对本机远程的MySQL、SQL Server、SQLite、Oracle及PostgreSQL数据库进行管理及开发。Navicat的功能足以符合专业开发人员的所有需求,而且对数据库服务器的新手来说又相当容易学习。

适用于Microsoft Windows、Mac OS及Linux三种平台,它可以让用户连接到任何本机或远程服务器、提供一些实用的数据库工具如数据模型、数据传输、数据同步、结构同步、导入、导出、备份、还原、报表创建工具及计划以协助管理数据。

二、数据库的使用

命名格式:

1、mysql.客户端工具(在安装目录下的bin目录中,myql.exe,最好将bin目录路径加入到环境境变量path中)中的命令通常由SQL语句组成,随后跟着一个分号。有一些例外不需要分号。

2、在windows下命令不分大小写,命令可跨行,以分号结束。输入\c表示取消前面输出的未执行的命令行。

命名规范:

1、库名、表名、字段名必须使用小写字母,如需分隔,则采用下划线“_”分割。

2、库名、表名、字段名支持最多64个字符,但为了统一规范、易于辨识以及减少传输量,禁止超过32个字符。

3、库名、表名、字段名禁止使用MySQL保留字。当库名、表名、字段名等属性含有保留字时,必须用反引号(`引用属性名称,这将使得SQL语句书写、SHELL脚本中变量的转义等变得非常复杂。

注:建议表字符集使用UTF8,必要时可申请使用UTF8MB4字符集。

1.利用MySQL客户端访问数据库:

2.Windows建立连接

mysql -uroot -p -P3306 -hlocalhost;

3.创建子账号

目的:实现多人同时对数据库处理,每个人的权限不同。

使用root账号登录MySQL 新建子账号:

create user 'test'@'localhost' identified by '123456';

创建后登录查看

三、 数据库的创建

使用SQL语句使用数据库

1.创建数据库

mysql> create database kuming character set character_name;

kuming:表示要创建数据库的名字。

character_name:表示设置数据库的字符集,以防乱码出现。库中如有中文最好使用gbk字符集。

注:MySQL中两个数据库不允许相同名字,每天SQL语句都以(;)结束。

2.查询数据库

查询MySQL数据库中所有数据库信息

mysql> show databases;

3.使用数据库

mysql> USE shujuku;

4.修改数据库参数

mysql> alter database kuming character set character_name;

kuming:要修改的数据库名

character_name:修改的字符集名

5.删除数据库

mysql> DROP DATABASE MZ;
Query OK, 0 rows affected (0.03 sec)
mysql>delete from 表名;    删除全部
mysql>truncate table 表名;     清楚表的所有数据

MZ:数据库名字

注:英文半角 ; 语句结束标记按Enter键执行MySQL命令或SQL语句,

退出:输入quit或exit或者直接关闭

跳出:当命令遇到问题执行不了,又无法跳出,按CTRL+C。

7.更新数据

update 表名 set 字段名=更新的值 limit 3; 更新前三条数据的字段

设计关系数据库有两个阶段:

一:实体-联系模型(ER图)

二:将ER模型转化为二维表结构(关系数据模型)

8.数据表的基础知识

表的定义:表是包含数据库中所有数据的数据库对象。

列名(字段名)

列名是用来访问表中具体域的标识符,列名必须遵循下列规则:

(1)列名是可以含有从1到128的ASCII码字符,它的组成包括字母、下划线、符号以及数字。使用小写英文单词,如果有多个单词使用下划线隔开。

(2)不要给列名命名为与SQL关键字相同的名字。

(3)列名应该反映数据的属性。

(4)表的主键一般都约定成为id,自增类型。

(5)text字段尽量少用。

(6)所有字段,均为非空,最好显示指定默认值。

数据类型

(1)数值类型

整数数据类型  小数数据类型  浮点数据类型

(2)字符串类型

(Char是固定长度Char可能会浪费一些存储空间)

(Varchar是可变长度,按实际长度存储,节省空间)

(3)日期时间类型

(年份用year,存储日期和时间用DateTime)

(4)enum类型和set类型

(字符串形式出现Enum取单值,Set可取多值)

(5)text类型和blob类型

长度

给列定义的大小部分指的是该列能接受多少个字符。

9.创建数据表

mysql> create table bm_name-> (-> bzlm datatype [约束条件],-> bzlm2 datatype [约束条件],-> 等-> [表级别约束条件]-> );

bm_name:数据表名字

bzlm:数据表中列名

datatype:表中列的数据类型

例:

代码如下:

查看数据表:

mysql> show tables;

查看数据表结构:

​
mysql> desc 表名称;

修改数据表:

修改字段属性语法格式:

1. 向表中添加一个字段:

mysql> alter table <表名>-> add <新字段><数据类型>《约束条件》{first|after《已存在字段名前或后》};

注:默认新添加的字段放在最后一列。

2. 修改字段名:

mysql> alter table <表名>-> change <原字段名> <新字段名> 《数据类型》[约束条件]-> [first|after<已存在字段名>];

3. 修改表名称

​
mysql> alter table <表原名>-> rename <新表名>;

4. 删除数据表和表中字段(删除前要做好备份)

mysql> drop table <表名称>;
mysql> alter table <表名>-> drop <字段名>;

5.修改数据表中字段类型

MySQL> alter table 表名> modify 字段名 新数据类型 约束条件; 

6.修改数据表中字段位置

MySQL> alter table 表名> modify 字段1 数据类型 约束条件 first|after<字段2>;

注:多种修改用逗号分隔。

四、数据库中的记录

1.插入的新记录必须完全遵守数据的完整性约束

2.插入字符型、日期时间型数值,必须在值的前后加入半角单引号,只有数值型数据不需要加单引号。(中英文切换)

3.对于Date类型的数值,插入时,必须使用“YYYY-MM-DD”的格式,并且要用半角单引号引起来

4.若某字段不允许为空,且默认值约束,则表示向数据表插入一条记录时,必须有写入值,默认插入不成功。若某字段不允许为空,且有默认值约束,则插入记录时自动使用默认值代替。

5.若某字段设置为主键约束,则插入记录时不允许出现重复数值

1.插入记录

mysql> insert into <数据表名>->(col_list,.......)<可以不写>-> values-> (val_list,.......);

col_llist:表中字段名称              val_list:每个字段值并与之对应

注:插入多条时用逗号间隔。

2.修改数据表中的记录

mysql> update <数据表名>-> set-> col_name=value,...-> where条件语句; (如不说明将对表中修改全部数据)注:(使用UPDATE语句修改数据时,可能会有多条记录满足WHERE条件。要保证WHERE子句的正确性,一旦WHERE子句,将会破坏所有改变的数据。)

3.删除记录

mysql> delete from <数据表名>-> where 要删除的记录参数;  (如果没有where将删除所有记录)

五、复制表

1.复制

复制数据表结构

mysql> create table (要复制表) like (table)形式;

复制表结构和表记录

mysql> create table (复制表) select...from (table)形式;

将完整数据复制到复制表中

mysql> insert into (复制表)select* from table;

2.查看

查看数据表中所有记录

mysql> select * from 数据表;
mysql>select * from 表名 limit 10; 查询数据表前10个记录
mysql>select * from 表名 LIMIT 10,10; 查询数据表中第11条后面10条数据
mysql>select 字段名 AS 新字段名 from 表名 LIMIT 6,5;   给指定字段重新命名

数据的导入与导出

使用Navicat进行导出:选中数据表右键导出向导——选择导出格式——选择导出文件并定义附加选项——选择字段——定义附加选项——开始导出

导入:右键单击数据表——选择导入向导——选择导入格式和导入位置——源定义附加选项——选择现有表或新建表——导入模式——开始导入     (Navicat看不到数据,进行刷新或数据同步)

六、命令的使用

单条件查询

select * from 表名 where 字段名>12;        查询字段满足>12

AND多条件查询

select * from 表名 where 字段名>12 and name like '王%';
and表示同时满足字段名>12和name like '王%'

OR多条件查询

select * from 表名 where 字段名>12 or name like '王%';
满足其中一个条件

UNION联合查询

select * from 表名 where age > 23
union
select * from 表名 where age > 30;

union all

把满足的结果并到一起

ORDER BY 排序

ASC从小到大排序

select * from 表名 order by age ASC;      age字段名

DESC从大到小排序

select * from 表名 order by id desc;

使用多字段混合排序

select * from 表名 order by age desc,id asc;

对字符串类型字段排序

select * from 表名 order by name asc;

JOIN表连接

LEFT JOIN左连接

mysql>SELECT c.id AS cours_id,c.*,t.* FROM cours c LEFT JOIN teacher t ON c.teacher_id=t.id; 

c.id AS cours_id表示将cours表中id字段重命名为cours_id展示,防止混淆

c.*表示cours表所有字段

t.*表示teacher表字段所有数据

ON 后面跟着条件是连接表的条件

cours c 将cours简写c 同下

left join 为左连接,以左为基准,若右表没有对应的值,用NULL 填补

INNER JOIN 内连接

SELECT c.id AS cours_id,c.*,t.* FROM cours c INNER JOIN teacher t ON c.teacher_id=t.id;

RIGHT JOIN 右连接

SELECT c.id AS cours_id,c.*,t.* FROM cours c RIGHT JOIN teacher t ON c.teacher_id=t.id;

多表混合连接

SELECT * FROM
student a
LEFT JOIN
student_cours b
ON a.id=b.student_id
RIGHT JOIN
course c
ON b.cours_id=c.id
INNER JOIN teacher d
ON c.teacher_id=d.id;

七、数据库的运算符

1、算数运算符

算术运算符是SQL中最常用的运算符,主要是对数值运算使用。算数运算符主要包括加、减、乘、除、取余5种。

使用算数运算符计算加减乘除

mysql> select hits,hits+hits,hits-hits,hits*hits,hits/hits from tb_news(数据表名字)(hits是字段名);
+------+-----------+-----------+-----------+-----------+
| hits | hits+hits | hits-hits | hits*hits | hits/hits |
+------+-----------+-----------+-----------+-----------+
|  100 |       200 |         0 |     10000 |    1.0000 |
|  200 |       400 |         0 |     40000 |    1.0000 |
|  300 |       600 |         0 |     90000 |    1.0000 |
|  500 |      1000 |         0 |    250000 |    1.0000 |
|  200 |       400 |         0 |     40000 |    1.0000 |
|  100 |       200 |         0 |     10000 |    1.0000 |
|  200 |       400 |         0 |     40000 |    1.0000 |
+------+-----------+-----------+-----------+-----------+
7 rows in set (0.00 sec)mysql>

2、比较运算符

比较运算符用于比较两个表达式的值,其运算结果为逻辑值,可以为3种之一:1(真),0(假)及null(不能确定)

例:

 运算符’=‘:

判断数字、字符串和表达式是否相等,相等返1,否则返0,NULL不能判断

mysql> select zidu,zidu='1001' from tb_user(数据表名)(zidu字段名);

查询数据表中字段zidu为p2001的数据

mysql> select * from 数据表名-> where zidu='p2001';

运算符’LIKE':

“LIKE”运算符用来匹配查询,如匹配则返1,否则返0,like关键字经常与通配符“_”和“%”一起用。

%:匹配一个或多个字符,代表任意长度的字符串,长度可为0.如a%b,以a开头b结束任意长度字符串。

:只匹配一个字符。如a_b,表示以a字母开头以b字母结束的3个字符。

运算符‘REGEXP'(正则表达式):

REGEXP”用来匹配字符串,如果X1满足匹配式,返1,否则返0。‘’REGEXP‘’经常与“$”和“^”和“.”使用。

^”用来匹配字符串的开始部分

$”用来匹配字符串的末尾部分     “.”用来代表字符串中的一个字符

八、数据库的函数

1.数学函数

例:

ABS(x)函数

mysql> select ABS(5-9),ABS(-5.99);
+----------+------------+
| ABS(5-9) | ABS(-5.99) |
+----------+------------+
|        4 |       5.99 |
+----------+------------+
1 row in set (0.00 sec)mysql>

FLOOR(x)和CEILING(x)函数

FLOOR(x)函数用于获得小于x的最大整数值,CEILING(x)用于获得大于x的最小整数值

mysql> select floor(150.23),ceiling(13.324);
+---------------+-----------------+
| floor(150.23) | ceiling(13.324) |
+---------------+-----------------+
|           150 |              14 |
+---------------+-----------------+
1 row in set (0.00 sec)

GREATEST()和LEAST()函数

他们的功能是获得一组数中的最大值和最小值。

mysql> select greatest(10,25,98,152,12),least(11,32,147,21);
+---------------------------+---------------------+
| greatest(10,25,98,152,12) | least(11,32,147,21) |
+---------------------------+---------------------+
|                       152 |                  11 |
+---------------------------+---------------------+
1 row in set (0.00 sec)

注:greatest求的是某几列的最大值,横向求最大;max(a) 是给纵向求最大

  1. max函数:计算表达式最大值
  2. min函数:计算表达式最小值
  3. count函数:统计满足条件的记录数
  4. sum函数:计算所有字段的总和
  5. avg函数:计算各个字段值的平均值

2.字符串函数

3.日期和时间函数

NOW()函数:

mysql> select now();
+---------------------+
| now()               |
+---------------------+
| 2022-04-09 01:43:01 |
+---------------------+
1 row in set (0.00 sec)

 HOUR(t)   MINUTE(t)  SECOND(t)函数:

mysql> select HOUR('12:43:32'),MINUTE('12:43:32'),SECOND('12:43:32');
+------------------+--------------------+--------------------+
| HOUR('12:43:32') | MINUTE('12:43:32') | SECOND('12:43:32') |
+------------------+--------------------+--------------------+
|               12 |                 43 |                 32 |
+------------------+--------------------+--------------------+
1 row in set (0.00 sec)

后续内容会继续补充,互相学习,多多支持,点个赞三连走起,再走呗

数据库基础 新手入门(一)相关推荐

  1. mysql从服务器能否修改数据,mysql数据库操作新手入门,手把手的教会你 _数据库教程...

    由于新手入门PHP+Mysql技术,必定对Mysql操作存有疑问. 尽管PHPMyadmin管理数据库对新手来说也不妨为一种很好的方式.但更多的实际使用还要靠大家对Myql语句格式 的精通和熟练的操作 ...

  2. 三.数据库基础-Oracle入门到精通学习笔记

    第一章 Oracle 11g概述 1.1 Oracle翻译为"甲骨文",由Oracle公司推出. 1.2 关系型数据库 1.2.1 数据库管理技术发展经历了 人工管理.文件系统.数 ...

  3. VB数据库编程新手入门必会

    VB数据库是一门初高中学生就可以用现有知识来学习的一门数据库编程,虽然现在越来越多的公司选择了oracle.mysql.access数据库,但是秉着万变不离其宗的道理,最先接触VB数据库编程还是很有意 ...

  4. 零基础新手入门游戏建模,制作3D建模有哪些步骤流程!必备知识

    次世代游戏的诞生掀起了技术与艺术的新浪潮.精致高清的贴图模型,实时仿真的碰撞解算,极致华丽的视觉特效,独特新颖的体感操作成为了次世代游戏的标志性特色. 目前正在学次时代游戏建模,简单分享下流程. [3 ...

  5. 易语言零基础新手入门系列教程 第一课

    机器人小鑫易语言源码(作业用): 机器人小鑫源码 - 第一课.zip 视频教程文字版: 新手学习易语言的几点建议 1.由浅入深.由易到难.循序渐进,切勿急功近利,想一步登天! 这是学习的一般规律,学习 ...

  6. python初学零基础知识_Python零基础新手入门小知识

    以下为不同平台上安装Python的方法: Unix & Linux 平台安装 Python: 以下为在Unix & Linux 平台上安装 Python 的简单步骤: 打开WEB浏览器 ...

  7. 「ZBrush」零基础新手入门操作教学,记得收藏好

    ZBrush可以简称为ZB,它可以用来做模型也可以画贴图.ZBrush是一个强有力的数字艺术创造工具. ZBrush设计 ZBrush是按照世界领先的特效工作室和全世界范围内的游戏设计者的需要,以一种 ...

  8. 新手入门手把手教你自学吉他,简单易懂看完就会

    0基础初学者和新手小白入门自学吉他,很简单看完就会. 记得之前的文章中好像说过,关于吉他的结构和各项功能自己买本书或者查资料很容易就能找到,思来想去还是想写一篇关于吉他0基础新手入门的内容,正好自己也 ...

  9. Linux新手入门之基础命令操作

    Linux新手入门 1.Linux基本介绍 1.1.简介 Linux 内核最初只是由芬兰人林纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的. Linux 是一套免 ...

  10. java官网教程(基础篇)—— 新手入门

    新手入门 Java技术的介绍,以及安装Java开发软件和使用它创建一个简单程序的课程. 本教程提供了关于开始使用Java编程语言所需了解的一切. Java 技术现象 提供Java技术的整体概述.它讨论 ...

最新文章

  1. Linux下安装mysql(2) 及常见问题解决(CentOS)
  2. leetcode 105. 从前序与中序遍历序列构造二叉树 c语言递归解法
  3. 如何在mysql中添加用户_如何给mysql数据库添加一个用户
  4. 使用Spring MVC应用程序配置嵌入式H2控制台
  5. [css] word-wrap、word-break和white-space有什么区别?
  6. 264 参考帧 list0 list1
  7. html字符串生成器源代码
  8. 用最新NLP库Flair做文本分类 1
  9. python函数可以提高运行效率吗_python 多进程如何提高函数效率?
  10. 手把手教你用AI画梵高的《星空》
  11. Linux通过SSH实现免密登录
  12. 【Elasticsearch】搜索引擎从0到1 有赞 视频笔记
  13. JS iframe 跨域
  14. html怎么编辑文字位置,html – 修正文本的位置背景剪辑
  15. 洛谷P1005 矩阵取数游戏
  16. sonar报java.io.StreamCorruptedException: invalid internal transport message format, got (48,54,54,50)
  17. python3 rf 无法保存案例_RF接口自动化-上传文件并解决中文文件上传失败问题
  18. 计算机提示pdf不能加载,打开电脑中的PDF文档无法显示内容提示Please wait怎么解决...
  19. NAS网络存储器(转)
  20. tif文件在html打开,tif格式怎么打开(打开tif文件的操作方法)

热门文章

  1. 微信客服系统开发SDK使用教程-给好友发消息任务
  2. 14.msql_python
  3. 数据分析的一些简单思路总结
  4. HDU 6188:Duizi and Shunzi(贪心)(广西邀请赛)
  5. [PKUSC2018游记]
  6. codewars python Regex validate PIN code
  7. iOS:Autolayout自动布局实例
  8. 分布估计算法(Estimation of Distribution Algorithm)
  9. python自定义事件event的含义_pyqt自定义事件学习出现问题
  10. VO与Map之间的相互转换