零基础学sql要多久 mysql数据库

Mysql数据库(零基础学sql要多久)原创2021-06-08 09: 30追求源于热爱I
目录1.数据库基础
1.1数据库基础概述
1.2 MySQL数据库简介
1.3MySQL数据库安装
2数据库和数据表管理
2.1数据库管理
2.2数据表管理-数据表设计
2.3数据表管理-创建表格
2.4数据表管理-表格修改
2.5数据表管理-表格修改
2.6数据表管理-删除表
3.操作数据库的图形界面
4.简单的查询和数据操作
4.1基本查询语句
4.2插入数据
4.3修改数据
4.4删除数据
5.备份和恢复数据库
5.1备份数据库
5.2恢复数据库
5.3图形界面备份和恢复数据库
1.数据库基础1.1数据库基础概述数据管理的主要流程:
手动管理阶段:应用程序管理数据,不保存,不共享,不独立 。
文件管理阶段:文件系统管理数据,可以长期保存,但共享性、冗余性、独立性差 。
数据管理阶段:数据库系统管理数据,数据结构复杂,冗余小,易扩展,独立性高,数据控制统一 。
数据库的特征:
结构数据
实现数据共享
减少数据冗余
数据独立性
数据库的类型(根据数据模型的特征)
网状数据库
分层数据库
关系数据库
网格数据库:采用节点记录类型的网格数据模型 。
分层数据库:分层模型用于模拟现实世界中分层组织的事物 。
关系数据库:用二维表结构组织和管理数据,规定了表内和表间数据的依赖关系 。
关系数据库是指相关表和其他数据库对象的集合 。对于关系数据库,关系等同于表 。
表格由行和列组成(类似于二维数组) 。
列包含一组命名属性(也称为字段) 。
一行包含一组记录,每行包含一条记录 。
行和列的交集称为数据项,表示行上某列对应的属性值,也称为字段值 。
列需要定义数据类型,如整数或字符数据 。
数据库的数据结构图:
1.2 MySQL数据库简介MySQL是瑞典MySQL AB公司开放的开源关系数据库管理系统(RDBMS),目前是Oracle的产品 。
MySQL数据库系统使用最常用的数据库管理语言——结构化查询语言(SQL)进行数据库管理 。
SQL是一种主要用来操作关系数据库的语言,称为结构化查询语句 。
SQL语句主要分为:
DQL:数据查询语言,用来查询数据,比如select 。
DML:数据操作语言,增加、修改和删除数据,如插入、更新和删除 。
TPL:事务处理语言,处理事务,包括开始事务、提交和回滚 。
DCL:数据控制语言,用于授权和权限恢复,如授予和撤销 。
DDL:数据定义语言,管理数据库和表,比如create和drop 。
CCL:指针控制语言,控制指针完成表操作,比如声明游标 。
MySQL的特点:
用C和C++编写,用各种编译器测试,保证源代码的可移植性 。
完全支持SQL的GROUP BY和ORDER BY子句,支持聚合函数(COUNT()、COUNT(DISTINCT)、AVG()、STD()、SUM()、MAX()和MIN()) 。您可以在同一个查询中混合不同数据库中的表 。
为C、C++、Python、Java、Perl、PHP、Eiffel、Ruby等多种编程语言提供API,支持多种存储引擎 。
1.3MySQL数据库安装MySQL服务器(在Linux系统上)
[计] 下载
sudoapt-getinstallmysql-server
启动服务
sudoservicemysqlstart
检查服务是否已启动 。
psajx|grepmysql sudoservicemysqlstatus
服务停止 。
sudoservicemysqlstop
重新启动服务
sudoservicemysqlrestart
部署
配置文件目录是/etc /etc/mysql/mysql.conf.d
进入目录,打开mysqld.cnf,可以看到配置项 。
Bind-address表示服务器绑定的ip,默认为127.0.0.1 。
表示端口port,默认为3306 。
Datadir表示数据库目录,默认值为/var/lib/mysql 。
Generallogfile表示普通日志,默认值为/var/log/mysql/mysql.log 。
Log_error表示错误日志,默认为/var/log/mysql/error.log 。
MySQL客户端
客户端由开发人员使用,如命令行客户端、navicat图形界面客户端等 。
下载命令行客户端sudo来安装mysql-client
连接到数据库mysql -u root -p123456-u,后跟数据库的帐户名 。-p password -p和密码不能有空框 。如果在-p后没有添加密码,输入后会要求您输入密码 。
注意:按ctrl+d或输入quit或exit命令退出 。
2数据库和数据表管理2.1数据库管理连接数据库
mysql-u账号-p密码-h主机地址-P端口mysql-uroot-pmysql
查看数据库版本
selectversion();
显示当前时间 。
selectnow();
查看所有数据库:
showdatabases;
创建数据库
createdatabase数据库名charset=utf8;
注意:创建库时,必须指定代码utf8 。utf8中没有-和用pyhton写代码有一点不同 。
切换数据库:
use数据库名
查看当前正在使用的数据库 。
selectdatabase();
删除数据库
dropdatabase数据库名;
2.2数据表管理-数据表设计数据表设计包括ER图、主键、字段、数据类型、约束以及表间关系的设计 。
E-R(实体-关系)模型,即实体-关系模型,主要用于定义数据的存储需求 。这种模型在关系数据库设计中得到了广泛的应用 。E-R模型由三个基本元素组成:实体、属性和关系 。
主键(主键)
数据库要求表中的每一行记录都必须是唯一的,也就是说,在同一个表中不允许有两个相同的记录 。
在设计数据库时,为了保证记录的唯一性,最常用和推荐的方法是为表定义一个主键 。
数据库中的主键有以下两个特征:
表的主键可以由一个字段或多个字段组成(这种情况称为复合主键) 。
数据库表中主键的值是唯一的,不能取空值(NULL) 。当数据库表中的主键由多个字段组成时,每个字段的值不能取空值 。
实体和外键之间的关系
班级实体与班主任实体是一对一的关系,班级实体与学生实体是一对多的关系,学生实体与课程实体是多对多的关系 。
实体之间的关系可以用外键来表示 。如果表A中的字段A对应于表B的主键B,则字段A称为表A的外键..此时存储的是表A中字段A的值,这个字段值也是表B中主键B的值 。
约束(约束)
约束是在表上定义的强制性规则 。为表定义约束后,表上的所有SQL操作都必须满足约束的规则要求,否则操作将失败 。
约束类型:
2.3数据表管理-创建表格查看当前数据库中的表
showtables;
创建表格
注意:创建表时,字段在前面,后面是约束 。
创建学生表
注释注释:当创建一个表时,如果有许多字段,为了防止您忘记字段中存储了什么数据,您可以在字段中添加注释 。
查看用于创建表的sql语句
showcreatetable表名;
2.4数据表管理-表格修改添加字段
alter table name添加列名类型;
向学生添加生日字段 。
删除字段
Alter table表名drop字段名;
删除学生表中的性别字段 。
2.5数据表管理-表格修改修改第一个字段,不是字段名,而是类型和约束 。
altertable表名modify列名类型及约束;
其次,您需要修改字段名称 。
altertable表名change原名新名类型及约束;
2.6数据表管理-删除表droptable表名;
删除学生表
3.操作数据库的图形界面下载图形界面工具NavicatNavicat官网:https://www.navicat.com.cn/mysql刚刚安装了root账号 。默认情况下,您只能在本地登录,而不能在其他机器上登录 。使用Navicat连接前,在命令行客户端修改mysql的用户登录权限;修改步骤是:(1)mysql -uroot -p123456连接数据库;(2)使用msyql进入mysql数据库;(3)从用户中选择主机、用户;检查该帐户拥有哪些权限(4)将root登录权限更改为所有主机都可以登录 。
grantallprivilegeson*.*to'root'@'%';
(5)注释配置文件的绑定地址 。在/etc/MySQL/mysqld.cnf的配置文件中注释掉bind-address,并使用Navicat连接到MySQL 。
打开已安装的Navicat客户端,点击连接-> MySQL-并填写账号密码 。主机地址是您安装msyql的ubuntu ip地址 。点击连接测试,弹出连接成功,表示Navicat已经连接到MySQL 。单击确定 。
成功连接后,可以看到所有数据库 。
创建数据库
在左侧边栏空中单击右键,然后单击“新建数据库”
填写数据库名称、编码格式,在弹出框中选择utf-8 。
创建数据表
选择一个表,然后单击“新建表” 。
创建一个类别表 。
对于id字段,需要将其设置为int类型、无符号、自动增长、主键,而不是空
创建表格后,还可以对其进行编辑 。
打开表格,设计表格,删除表格 。
4.简单的查询和数据操作4.1基本查询语句Select * from表名;
select*fromstudents;查询students表中的所有内容
指定字段查询
从表名中选择字段1、字段2 。
例如,我只想看到列id和名称 。
selectid,namefromstudents;
4.2插入数据整列插入
插入表格名称值(…)
将学生信息插入上一课创建的学生表中 。
insertintostudentsvalues(0,'韩信',0,'广州');
注意:插入一整列时,有多少个字段,必须插入多少个字段,甚至默认可以空的字段也要占满 。主键的自增量也需要占位符 。通常,使用0占位符 。部分插入
插入表名[字段1,字段2]值(值1,值2);
整列多行插入
插入多行 。每一行的内容都写在括号里,多行用逗号隔开 。
insertinto表名values(...),(....),(....);
部分列多行插入
insertinto表名(字段1,字段2)values(..),(..);
4.3修改数据更新表名set field =xxx,其中field = XXX;
updatestudentssethometown='珠海'whereid=5;
注意:在修改某一行时,必须添加where限定条件,否则会修改整个表,除非你想修改整个表 。
4.4删除数据删除id为3的程
deletefromstudentswhereid=3;
注意:行的删除也应该被限定,否则整个表都会被删除 。
5.备份和恢复数据库5.1备份数据库备份数据库中所有表的数据 。
my dump–u root–p数据库名称> python.sql
mysqldump-uroot-ppython>python.sql
提示输入密码,mysql密码
备份数据库中数据表的数据 。
my dump–u root–p数据库名称数据表名称> class.sql
msyqldump-uroot-ppythonclass>class.sql
5.2恢复数据库在还原数据库之前,请手动创建库 。
【零基础学sql要多久 mysql数据库】mysql-uroot–p新数据库名

    推荐阅读