mysql数据库入门学习(一)

2 篇文章 0 订阅

前言:这个学期学校里在学php。学习了两个多月,php给我的感觉没有c++严谨,很多都是嵌入在html中,它的各种语法没有特别的规范。然后11月份开始学习mysql。也许是老师认为之前开过一门数据库的课,所以没有特别多讲mysql的基础操作。这里主要通过研究《php和Mysql Web开发》(原书第四版)第二篇:使用Mysql,来回顾和精研mysql数据库的基础知识。


进入正题:

(一)设计web数据库

  首先要介绍数据库里的一些基本概念,表格,列,行,值,键。这些概念都比较简单,比较要重视的是主键和外键。键,是表中的标志列。一个键可能由几列组成。主关键字(primary key)是表中的一个或多个字段,它的值用于唯一地标识表中的某一条记录。在两个表的关系中,主关键字用来在一个表中引用来自于另一个表中的特定记录。主关键字是一种唯一关键字,表定义的一部分。一个表的主键可以由多个关键字共同组成,并且主关键字的列不能包含空值。主关键字是可选的,并且可在 CREATE TABLE 或 ALTER TABLE 语句中定义。外键,用我的理解来说,就是表A的主键在表B出现,那么这个主键就是表B的外键。

  第二介绍关系数据库的基本三种关系类型,一对一,一对多,多对多。(类似UML建模中的多重性)。

  第三,分析如何建表。这里要考虑到避免保存冗余数据。如果你把所有的信息都建在一张表上,那么保存冗余的数据库设计将占用额外的空间,并且可能引起数据异常。这里,需要避免3中情况的更新不规则:修改,插入,删除不规则。理解起来很简单:  修改:同一个数据在数据库各个表出现了多次,你改了一个其他的没改就会出现数据不一致。 插入:插入一个数据在表中,其他位置没有插入或信息不一致。 删除:删除了表中某一个位置的信息,但数据库中其他位置没有删除导致信息不一致。

第四,web数据库框架。流程大概是:浏览器到web服务器到PHP引擎到Mysql服务器,返回是从Mysql服务器到php引擎到web服务器到浏览器。

(二)创建web数据库

  首先是登录。打开运行输入cmd,进入dos。输入mysql -hlocalhost -uroot -proot.




这里要说的是,要直接在dos下输入mysql需要改环境变量。把mysql.exe的位置添加到环境变量中才行。

本人使用的是phpstudy集成环境,你也可以直接在phpstudy里登录。选择mysql命令行。输入密码root即可。(WAMP密码是123)




然后是用户权限的设置。这里要遵循 “ 最少权限原则"。一个用户(或一个进程)应该拥有能够执行分配给他的任务的最低级别的权限。

权限的四个级别:全局,数据库,表,列。

创建用户:GRANT命令
形式:GRANT privileges [columns]
            ON item
            TO user_name [IDENTIFIED BY 'password']
            [REQUIRE ssl_options]
      [WITH [GRANT OPTION | limit_options] ]



例子:
mysql> grant all
          -> on *
          -> to fred identified by "mnb123"
          -> with grant option;

以上代码授予用户名为fred,密码为mnb123的用户使用所有数据库的所有权限,并允许他向其他人授予这些权限。



需要注意的是一定要先进入数据库中才可以操作。

用户的权限除了基本的增删查改,还有INDEX(创建拖动特定表),ALTER(改变现存表的结构),create,drop.
与GRANT相反的操作是 REVOKE.具体格式和操作与GRANT相同,不重复介绍。

接下来是创建数据库表。
这里用书上的例子:










需要理解的一些关键字:

NOT NULL表示所有行的此属性必须有一个值。如果没有指定可以为空(NULL)。

AUTO_INCREMENT表示如果改字段设置为空,那么MYSQL将自动产生一个唯一的标识符值。一个表只能有一个这样的值。

PRIMARY_KEY表示主键。

UNSIGNED表示只能是0或者是一个正数。








  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值