一、什么是数据库

一般而言,数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。我们也可以将数据存储在文件中,但是在文件中读写数据速度相对较慢。所以,使用关系型数据库管理系统(RDBMS)来存储和管理的大数据量。所谓的关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。

RDBMS即关系数据库管理系统(Relational Database Management System)的特点:

1.数据以表格的形式出现

2.每行为各种记录名称

3.每列为记录名称所对应的数据域

4.许多的行和列组成一张表单

5.若干的表单组成database



二、基本术语

数据库: 数据库是一些关联表的集合。.

数据表: 表是数据的矩阵。在一个数据库中的表看起来像一个简单的网格表。

列: 一列(数据元素) 包含了相同类型的数据, 例如姓名,年龄等。

行:一行(元组,或记录)是一组相关的数据,例如一个学生的相关信息。

冗余:存储两倍数据,冗余可以使系统速度更快。

主键:主键是唯一的。一个数据表中只能包含一个主键。你可以使用主键来查询数据。

外键:外键用于关联两个表。

复合键:复合键(组合键)将多个列作为一个索引键,一般用于复合索引。

索引:使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构。

参照完整性: 参照的完整性要求关系中不允许引用不存在的实体。与实体完整性是关系模型必须满足的完整性约束条件,目的是保证数据的一致性。





三、mysql简介

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

1、mysql的下载和安装

可以根据不同的操作系统寻找相关教程。

2、设置root用户密码

Mysql安装成功后,默认的root用户密码为空,你可以使用以下命令来创建root用户的密码。

mysqladmin -u root password "*******"; ******就是设置的新密码。

3、登录mysql

通过mysql -u root -p命令,回车输入密码登录。

4、管理mysql服务

对于linux而言,使用如下命令开启或关闭mysql服务

service mysql start/stop

对于windows而言,使用如下命令开启或关闭mysql服务

net start/stop mysql

或者在windows 服务中找到mysql启动即可。

5、添加 MySQL 用户

通过在 mysql 数据库中的 user 表添加新用户来实现。

例如添加一个用户名为chen,密码为chen的用户,并授权用户可进行 SELECT, INSERT 和 UPDATE操作权限。

1)登录mysql     mysql -u root -p

2)选中数据表    use mysql;

3)插入用户数据  

INSERT INTO user 

(host, user, password, select_priv, insert_priv, update_priv) 

VALUES ('localhost', 'chen', PASSWORD('chen'), 'Y', 'Y', 'Y');

4)重新载入授权表或者重启mysql服务   FLUSH PRIVILEGES;

5)查看是否添加成功  SELECT host, user, password FROM user WHERE user = 'chen';

你可以在创建用户时,为用户指定权限,在对应的权限列中,在插入语句中设置为 'Y' 即可。

可以看出MySQL的SQL语句以分号 (;) 作为结束标识。

6、常用命令

1)USE 数据库名:

选择要操作的Mysql数据库,必须先指定操作那个数据库。使用该命令后所有Mysql命令都只针对选中的数据库。

2)SHOW DATABASES: 

列出当前MySQL中的所有数据库列表。

3)SHOW TABLES:

显示指定的数据库中的所有表,使用该命令前需要使用 use 命令来选择要操作的数据库。

4)SHOW COLUMNS FROM 数据表:

显示数据表的属性,属性类型,主键信息 ,是否为 NULL,默认值等其他信息。

5)SHOW INDEX FROM 数据表:

显示数据表的详细索引信息,包括PRIMARY KEY(主键)。

6)SHOW TABLE STATUS LIKE [FROM db_name] [LIKE 'pattern'] \G: 

该命令将输出Mysql数据库管理系统的性能及统计信息。

SHOW TABLE STATUS  FROM MYTEST;   # 显示数据库 MYTEST 中所有表的信息

SHOW TABLE STATUS from MYTEST LIKE 'test%';     # 表名以runoob开头的表的信息

SHOW TABLE STATUS from MYTEST LIKE 'test%'\G;   # 加上 \G,查询结果按列打印

mysql学习之基础知识的更多相关文章

  1. jQuery学习笔记 - 基础知识扫盲入门篇

    jQuery学习笔记 - 基础知识扫盲入门篇 2013-06-16 18:42 by 全新时代, 11 阅读, 0 评论, 收藏, 编辑 1.为什么要使用jQuery? 提供了强大的功能函数解决浏览器 ...

  2. Ant学习-001-ant 基础知识及windows环境配置

    一.Ant 概要基础知识 Apache Ant 是一个将软件编译.测试.部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发,用以构建应用,或结合其他开源测试工具例如 git.T ...

  3. 学习javascript基础知识系列第二节 - this用法

    通过一段代码学习javascript基础知识系列 第二节 - this用法 this是面向对象语言中的一个重要概念,在JAVA,C#等大型语言中,this固定指向运行时的当前对象.但是在javascr ...

  4. 学习javascript基础知识系列第三节 - ()()用法

    总目录:通过一段代码学习javascript基础知识系列 注意: 为了便于执行和演示,建议使用chrome浏览器,按F12,然后按Esc(或手动选择)打开console,在console进行执行和演示 ...

  5. 关于图计算&图学习的基础知识概览:前置知识点学习(Paddle Graph Learning (PGL))

    关于图计算&图学习的基础知识概览:前置知识点学习(Paddle Graph Learning (PGL)) 欢迎fork本项目原始链接:关于图计算&图学习的基础知识概览:前置知识点学习 ...

  6. 学习Python3基础知识过程中总结

    print()中end==""的用法 例子:用Python3输出九九乘法表: for i in range(1,10): for j in range(1,i+1): s=i*j ...

  7. three.js学习笔记--基础知识

    基础知识 从去年开始就在计划中的three.js终于开始了 历史介绍 (摘自ijunfan1994的转载,感谢作者) OpenGL大概许多人都有所耳闻,它是最常用的跨平台图形库. WebGL是基于Op ...

  8. MySQL系列(一)--基础知识(转载)

    安装就不说了,网上多得是,我的MySQL是8.0版本,可以参考:CentOS7安装MySQL8.0图文教程和MySQL8.0本地访问设置为远程访问权限 我的MySQL安装在阿里云上面,阿里云向外暴露端 ...

  9. SQLServer学习笔记<>.基础知识,一些基本命令,单表查询(null top用法,with ties附加属性,over开窗函数),排名函数

    Sqlserver基础知识 (1)创建数据库 创建数据库有两种方式,手动创建和编写sql脚本创建,在这里我采用脚本的方式创建一个名称为TSQLFundamentals2008的数据库.脚本如下:   ...

随机推荐

  1. 你如果知道这些css常用命名,绝对事半功倍!--摘抄

    对于布局,即用.g-作为前缀,通常有以下推荐的写法 对于模块,即.m-作为前缀.元件,.u-作为前缀,通常有下面推荐的写法. 对于功能,即以.f-为前缀,通常推荐如下: 对于颜色,即以.s-为前缀,通 ...

  2. 【Visual Studio】Visual Studio 2015快捷键设置问题 alt+ F8 (转)

    具体修改方法如下: 工具-选项-环境-键盘-应用以下其他键盘映射方案,选择visual C++6, 然后编代码试试,嘿,我的alt+F8回来了(否则是ctrl + k, ctrl + f); 原文转自 ...

  3. linux 中信号量

    ctrl-c 发送 SIGINT 信号给前台进程组中的所有进程.常用于终止正在运行的程序.ctrl-z 发送 SIGTSTP 信号给前台进程组中的所有进程,常用于挂起一个进程.ctrl-d 不是发送信 ...

  4. PHP基础知识练习

    1 . PHP 指的是?(C ) A.Private Home Page B.Personal Hypertext Processor C.PHP: Hypertext Preprocessor D. ...

  5. PyTorch学习笔记之计算图

    1. **args, **kwargs的区别 def build_vocab(self, *args, **kwargs): counter = Counter() sources = [] for ...

  6. JSP页面顶端出现错误:The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path的问题解决

    原理:把RunTime容器添加进去,比如tomcat的. 1.项目右键->[Build Path]->[Configure Build Path...] 2.把tomcat的runtime ...

  7. php 打印今天,昨天,本周,上周,当月,上月,本季,上季,今年,去年数据

    if($filter['mode']) { switch ($filter['mode']) { case 1://今天的数据 $time_start = date("Y-m-d H:i:s ...

  8. [__NSCFConstantString size]: unrecognized selector sent to instance 错误

    因为使用时候的类型和初始化的对象类型不匹配造成的,例如 - (NSMutableDictionary *)getMenuItems{    NSArray *defaultTmp = [NSArray ...

  9. iOS真机测试,为Provisioning添加设备

    ------------添加设备到provisioning------------- 1,登陆https://developer.apple.com/devcenter/ios/index.actio ...

  10. android 获取GPS定位

    AndroidManifest.xml <?xml version="1.0" encoding="utf-8"?> <manifest xm ...