最近的学习内容是数据库相关的一些知识,主要以MySQL为主,参考书籍——《MySQL必知必会》

MySQL学习及下载地址:https://dev.mysql.com/

MySQL学习使用注意事项:

1、必须访问一个已有的MySQL服务器,需要一个服务器账号(一个登录名和一个口令)

2、MySQL运行在所有主要平台上,包括Windows、Linux、Solaris、Mac OSX等

3、一个客户机软件(用来实际运行MySQL命令的程序),最容易得到的是mysql命令行实用程序(包含在每个MySQL安装中)

4、安装MySQL时都会提示重要信息,比如安装位置(默认)、root用户口令、端口、服务或进程名等,都可以使用默认值

5、多个MySQL服务器副本可安装于统一机器上,只要每个服务器使用不同的端口即可

一、数据库基础

1、数据库

数据库(database):一个以某种有组织的方式存储的数据集合,保存有组织的数据的容器(通常是一个文件或一组文件)

数据库管理系统(DBMS:database message system):数据库是通过DBMS创建和操作的容器

2、表

表(table):某种特定类型数据的结构化清单

表是一种结构化文件,可用来存储某种特定类型的数据

数据库中每个表都有唯一的一个名字,用来标识自己,表名的唯一性取决于多个因素:如数据库名等结合(相同数据库不能出现名字相同的表,但不同数据库可以使用相同的表名)

表具有一些特性,其定义了数据在表中如何存储,比如:存储什么类型的数据,数据如何分解,各部分信息如何命名等

描述表的这组信息可以称为“模式”,其用来描述数据库中特定的表以及整个数据库(和其中表的关系)

模式(schema):关于数据库和表的布局及特性的信息,一般指给予表的一些定义

3、列和数据类型

表由列组成,列中存储着表中某部分的信息

列(column):表中的一个字段;所有表都有由一个或多个列组成的

分解数据:正确的将数据分解为多个列极为重要:例如省市县应该是独立的列,通过分解,才可能利用特定的列对数据进行排序和过滤,使得检索和访问更加方便(例如找出特定市县的相关数据等)

数据类型(datatype):所容许的数据的类型:数据库中每个列都有相应的数据类型,其定义列可存储的数据种类(限制/容许该列中存储的数据)

作用:①限制可存储在列中的数据种类(例如防止在数值字段中录入字符值)

②帮助正确的排序数据

③对优化磁盘使用有重要作用

4、行

行(row):表中的一个记录

表中的数据是按行存储的,保存的每个记录存储在自己的行内;如果将表想象为网格,网格中垂直的列为表列,水平行为表行

5、主键

主键(primary key):一列或一组列,其值能够唯一区分表中的每一行;唯一标识表中每行的这个列(或这组列)称为主键

主键用来表示一个特定的行;没有主键,更新或删除表中特定行很困难,因为没有安全的方法保证操作只涉及相关的行

主键并不总是需要,但大多数情况下都应保证每个表具有一个主键,以便于数据操作和管理

表中任何列都可以作为主键,只要满足以下2个条件:

任意两行都不具有相同的主键值;

每个行都必须具有一个主键值(主键列不允许NULL值);

主键值规则:主键通常定义于表的一列上,但也可以一起使用多个列作为主键,这种情况下,上述2个条件必须应用到构成主键的所有列,所有列值的组合必须是唯一的(单个列可以不唯一)

设置主键的几个好习惯:

不更新主键列中的值;

不重用主键列的值;

不在主键中使用可能会更改的值(例如使用电话号码作为主键以标识某个人,当该人更改电话号码时,必须更改这个键)

二、SQL简介

SQL:结构化查询语言(Structured Query Language)缩写,一种专门用来与数据库通信的语言

设计SQL的目的是很好的完成一项任务,即提供一种从数据库中读写数据的简单有效的方法

优点如下:

几乎所有的DBMS都支持SQL

SQL简单易学,语句由描述性很强的英语单词构成,而且单词的数目并不多

一门强有力的语言,灵活使用其语言元素,可进行非常复杂和高级的数据库操作

三、MySQL简介

MySQL是一种DBMS,即它是一种数据库软件

MySQL优点:

成本低,MySQL开放源代码,一般都可以免费使用甚至免费修改

性能好,MySQL执行效率很快

很多大型公司(包括一些全世界知名的互联网企业)使用MySQL来处理自己的重要数据

简安装使用非常容易

1、客户机-服务器软件

DBMS可分为两类:一类为基于共享文件系统的DBMS(包括诸如Microsoft和FileMaker),用于桌面用途,通常不用于高端或更关键的应用;一类为基于客户机-服务器的DBMS

常见的例如MySQL、Oracle、Microsoft SQL Server等数据库是基于客户机-服务器的数据库,分为2个部分:

服务器部分是负责所有数据访问和处理的一个软件,该软件运行在称为数据库服务器的计算机上;关于数据增删改查的所有请求都由服务器软件完成,这些请求来自客户机软件的计算机

客户机部分是与用户打交道的软件,由客户机软件通过网络提交请求给服务器软件,服务器软件根据需要处理数据,然后将结果返回给客户机软件

服务器软件为MySQL DBMS,可在本地安装的副本上运行,也可以连接到运行在你具有访问权的远程服务器上的一个副本

客户机可以是MySQL提供的工具、脚本语言(如Perl)、Web应用开发语言(如ASP、ColdFusion、JSP和PHP)、程序设计语言(如Java、C、C++)等

2、MySQL工具

MySQL是一个客户机-服务器DBMS,使用它需要一个客户机,即用来与MySQL打交道(给MySQL提供需要执行的命令)的应用;最好使用专门用途的实用程序,推荐如下三个:

①MySQL命令行实用程序

该程序是安装MySQL时自带的一个简单命令行实用程序;没有下拉菜单、用户界面、鼠标支持或其他支持的东西,但最好熟悉它,因为它是使用者安全依靠的一个客户机

②MySQL Adiministrator

MySQL Adiministrator(MySQL管理器)是一个图形交互客户机,用来简化MySQL服务器的管理

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

③MySQL Query Browser

MySQL Query Browser(MySQL查询浏览器)是一个图形交互客户机,用来编写和执行MySQL命令

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

四、连接MySQL及简单操作

连接MySQL数据库需要以下这些条件:

①主机名(计算机名):如果是本地MySQL服务器,为localhost

②端口:如果使用默认端口,则为3306

③一个合法的用户名

④用户口令:即登陆密码(如果需要)

1、选择数据库

安装并且成功连接数据库之后,需要选择一个数据库,如果使用的是命令行实用程序,则可以使用user关键字(比如:user tables;)

关键字(key word):MySQL语言组成部分的保留字,决不能用关键字命名一个表或列

2、了解数据库和表

数据库、表、列、用户以及权限等信息被存储在数据库和表中,内部表一般不直接访问,可以使用show命令来显示(比如:show tablebases;)

show tablebases;返回可用数据库的一个列表

show tables;返回当前选择的数据库内可用表的列表

show也可用来显示表列,比如:show columns from tables

自动增量:某些表列需要唯一值,例如:顾客ID,在每行添加到表中时,MySQL可以自动为每行分配下一个可用编号,不用手动分配,这个功能就是自动增量

如果需要该功能,则需要在用create语句创建表时把它作为表定义的组成部分

其他常见show语句还有:

show status:用于显示广泛的服务器状态信息

show create database 和show create table:分别用来显示创建特定数据库或表的MySQL语句

show grants:用于显示授予用户(所有用户或特定用户)的安全权限

show errors和show warnings:用于显示服务器错误或警告消息

MySQL(一)MySQL基础介绍的更多相关文章

  1. MySQL数据库(一)-- 数据库介绍、MySQL安装、基础SQL语句

    一.数据库介绍 1.什么是数据库 数据库即存储数据的仓库 2.为什么要用数据库 (1)用文件存储是和硬盘打交道,是IO操作,所以有效率问题 (2)管理不方便 (3)一个程序不太可能仅运行在同一台电脑上 ...

  2. MySQL数据库(一)—— 数据库介绍、MySQL安装、基础SQL语句

    数据库介绍.MySQL安装.基础SQL语句 一.数据库介绍 1.什么是数据库 数据库即存储数据的仓库 2.为什么要用数据库 (1)用文件存储是和硬盘打交道,是IO操作,所以有效率问题 (2)管理不方便 ...

  3. MySQL 调优基础(一) CPU与进程

    一般而言,MySQL 的调优可以分为两个层面,一个是在MySQL层面上进行的调优,比如SQL改写,索引的添加,MySQL各种参数的配置:另一个层面是从操作系统的层面和硬件的层面来进行调优.操作系统的层 ...

  4. 【MySQL】MySQL无基础学习和入门之一:数据库基础概述和实验环境搭建

    数据库基础概述  大部分互联网公司都选择MySQL作为业务数据存储数据库,除了MySQL目前还有很多公司使用Oracle(甲骨文).SQLserver(微软).MongoDB等. 从使用成本来区分可以 ...

  5. 大并发大数量中的MYSQL瓶颈与NOSQL介绍

    NoSQL在2010年风生水起,大大小小的Web站点在追求高性能高可靠性方面,不由自主都选择了NoSQL技术作为优先考虑的方面.今年伊始,InfoQ中文站有幸邀请到凤凰网的孙立先生,为大家分享他之于N ...

  6. (2.15)Mysql之SQL基础——开发设计最佳规范

    (2.15)Mysql之SQL基础——开发设计最佳规范 关键字:mysql三大范式,mysql sql开发规范 分析: show profile.mysqllsla.mysqldrmpslow.exp ...

  7. (2.11)Mysql之SQL基础——存储过程与变量

    (2.11)Mysql之SQL基础——存储过程 关键字:mysql存储过程 查看存储过程: []SELECT * FROM information_schema.ROUTINES WHERE ROUT ...

  8. (转)总结之:CentOS 6.5 MySQL数据库的基础以及深入详解

    总结之:CentOS 6.5 MySQL数据库的基础以及深入详解 原文:http://tanxw.blog.51cto.com/4309543/1395539 前言 早期MySQL AB公司在2009 ...

  9. MYSQL系列-MYSQL基础增强(Myql函数)

    MYSQL基础增强(Myql函数) 在这里只介绍一些常用的,比较新颖的: 字符串函数: CONCAT://字符串连接函数 mysql> SELECT CONCAT('My', 'S', 'QL' ...

随机推荐

  1. 前端学习 之 Bootstrap (一)

    中文文档 一.前言 1.简介 Bootsrtap作为一个前端框架,开箱即用,封装了前段开发的大量底层细节,开放灵活,对响应式设计网页很好支持,组件丰富,社区活跃. 特点: 可重用性 一致性 灵活的栅栏 ...

  2. HttpHandler与HttpModule介绍

    前言:作为一个开发人员,我们看过很多的关于开发的书,但是都是教我们"知其然",并没有教我们"知其所以然",我们开发web项目的过程中,当我们输完URL敲下回车就 ...

  3. Jenkins 解决Jenkins下java无法运行slave-agent jnlp程序连接Windows Slave主机

    解决Jenkins下java无法运行slave-agent jnlp程序连接Windows Slave主机   by:授客 QQ:1033553122 测试环境 java下载地址:http://www ...

  4. 使用sklearn机器学习库实现线性回归

    import numpy as np  # 导入科学技术框架import matplotlib.pyplot as plt  # 导入画图工具from sklearn.linear_model imp ...

  5. [20170728]oracle保留字.txt

    [20170728]oracle保留字.txt --//oracle有许多保留字,我印象最深的就是使用rman备份表空间test,test就是rman里面的保留字.--//还有rman也是rman里面 ...

  6. Java动态生成类以及动态添加属性

    有个技术实现需求:动态生成类,其中类中的属性来自参数对象中的全部属性以及来自参数对象properties文件. 那么技术实现支持:使用CGLib代理. 具体的实现步骤: 1.配置Maven文件: &l ...

  7. 用LinQ扩展方法,泛型扩展方法,实现自定义验证字符是否空、对象是否为null,及泛型约束使用,Action的使用

    一.Linq扩展方法 1.扩展方法必须是静态方法.扩展方法所在的类必须是静态类 2.扩展方法里面的参数必须制定this关键字,紧跟需要扩展的类型,如下: 二.泛型约束 1.使用泛型的原因,是在不知道需 ...

  8. CRM lookup筛选

    function Loadcouse() { var type; var id; retrieveRecord(Xrm.Page.getAttribute("ownerid").g ...

  9. Pandas:让你像写SQL一样做数据分析

    1. 引言 Pandas是一个开源的Python数据分析库.Pandas把结构化数据分为了三类: Series,1维序列,可视作为没有column名的.只有一个column的DataFrame: Da ...

  10. 使用KeePass管理两步验证

    目录 使用KeePass管理两步验证 两步验证 KeePass中管理两步验证 KeeTrayTOTP插件使用 使用KeePass管理两步验证 文:铁乐与猫 2018-9-9 KeePass 是一款管理 ...