要学Web 开发,也得先对数据库有所了解呀。数据库分门别类,多种多样,目前我选择了 MySQL 。

看了 MySQL,觉得数据库处理也不是很难,主要就是一些对数据的处理,MySQL 主要就是一些命令的运用。

看过了,怕忘了吧,得及时记录下来。

数据库基础

  (1)数据模型--有三类

层次模型 :用树形结构来表示实体及其之间的模型。

网状模型: 以实体型为节点的有向图表示各实体及其之间联系的模型。

关系模型: 用二维表格表示实体及其相互关系的模型。

前两模型较不常见,所以主要考虑 关系模型。

(2)关系数据库

关系是一个带有属性的表,这个表称为关系表,一组表组成一 数据库。

表由行和列组成,其行称为元组,列称为属性。

属性的取值范围称为域,行称为记录。

(3)键的选用

主键(Primary Key)  组合键 (Concatenated Key) 候选键 (Candidate Key) 外键 (Foreign Key)

这些键的具体区别我还是看不懂啊.....看来还要多理解理解.....

(4)关联类型

一对一    一对多    多对多

(5) 最后还有 第一二三范式    实体/参照/域完整性  主键/唯一/外键/默认约束  等等.......也不多说了..

********************************************华丽分割线************************************************************

MySQL  主要命令

(大小写不区分)

MySQL 的数值类型有:

整型: tinyint  smallint  mediumint  bigint   ;   浮点型 : float  double  decimal  ;

MySQL 还有数据字段修饰符:

自动增量设置  auto_increment   :  create table book(id int auto_increment,name varchar(15));

然后插入数据  insert into book (id,name) values("1","book1"); insert into book(bame) values("book2"); 则 id 会自动自增。

自动补齐前导 0   zerofill : create table book(id int(3) zerofill,name char(20)); 再插入如上..id 就会变为 001 之类的.

另外还有两个类型: blob 和 text 通常保存较大文本,但前者可以保存二进制文件(如图片?)。

同样也有  tinyblob  blob  mediumblob  longblob  tinytext  text mediumtext  longtext

还有 enum 类型和 set 类型,恕我还没弄懂这俩货..暂时不说了...

还有那些跟时间日期相关的方法,规则也挺多,也跳过吧..

例如创建 books 数据库 :create database books;

查看数据库大纲信息:show databases;

创建新用户 user1并分配权限 select (他使用密码  "passwd",密码可选可不选) :

grant select on *.* to user1 identified by "passwd" with grant option;

查看用户权限: show grants for user1;

撤销用户权限:revoke select on *.* from user1;

要选择某数据库(books):use books;  ----> (选择了才能操作它里面的表)  查看数据库表: show tables;

创建数据库表(book) : create table book(id int,name varchar(15),price varchar(10));

其中 前一项是属性,后一项是对应类型,varchar(15) 和char(15)差不多,只是后者固定了15个空间。

为表中插入值 :insert into book values(1 book1 10,2 book2 30);

查看某特定表(book)信息 : describe book;

删除数据库(books): drop database books ;

删除表数据(book) :delete from book where id="2";  删除表中 id=2 的数据;

为某些值创建一视图(myView),就是某种意义上的“整合”:

create view myView as select id,name from book;    接下来 select * from myView; 就可以查看视图(也可用 describe myView;)

删除视图  drop myView;

查询语句+约束(where后面是约束): select * from book where name="book2";

(and  or 等):select * from book where name="book2" and/or id="1";

(limit )  : select id from book order by id limit 3; 其中order by 可以id 方式来排序. 还可换成 limit 1,3; 代表区间1 ~ 3 ;

模糊查询(like):与通配符“%” 和下划线 “_"搭配使用,前者配一个或多个字符,后者只配一个字符。

如 select * from book where name like('_k%');

联合多列(concat) :就是把某些元素联合在一起:作为一个新的“列”?

如 select id,concat(name," ",price) as info from book; 就是 把 name 和 price 联合成 info 再与id 项 弄出来呗..

查询最大值最小值  : select max(id)/min(id) as id from book;   计算行数:            select count(*) from book;

分组查询 (group by ): select * from book group by name ;

更新数据(更改数据  update ): update book set name="book111" where id="2"; 就是把id=2 的name 更改了。

等等等等........................

除此之外,最好为数据库创建索引,可以加快查询速度。

使用 alter table :  alter table book add index/nique/rimary  index_name;  其中三项为索引类型。

使用create index: create index index_name on book;

使用create table:  create table book(index index_name);

查看(id)索引的使用:explain select id from book where name="book2";

还可以从宏观上查看  show status like "Handler_read%";

表的类型....

MyISAM (默认)  HEAP(最快)   可直接如此定义 : create table book(id char)type = HEAP;

还有锁定表  READ 和 WRITE   外键   这三个还是看不大明 .....先不说了..

还有学会创建临时表  create temporary table book(id varchar(10) NOT NULL,);  ps: NOT  NULL 可以直接用, 你懂的吧....

分析表有 analyze table book; 检查表有 check table book ; 优化表有 optimize table book;

等等等等......

命令虽多,多打打,始终会熟悉的...

**************************************************************华丽的分割线****************************************************

第一篇博客就这样写完了,耗时将近两个钟头,而且是熬夜写...........精神可嘉..................

第一次写博文,格式什么的都不熟悉 

以后不能熬夜了.......

数据库初识--从MySQL 出发的更多相关文章

  1. Learning-MySQL【1】:数据库初识及 MySQL 的安装

    一.什么是数据 数据(Data):描述事务的符号记录,描述事物的符号既可以是数字,也可以是文字.图片,图像.声音.语言等,数据由多种表现形式,它们都可以经过数字化后存入计算机 在计算机中描述一个事物, ...

  2. {MySQL数据库初识}一 数据库概述 二 MySQL介绍 三 MySQL的下载安装、简单应用及目录介绍 四 root用户密码设置及忘记密码的解决方案 五 修改字符集编码 六 初识sql语句

    MySQL数据库初识 MySQL数据库 本节目录 一 数据库概述 二 MySQL介绍 三 MySQL的下载安装.简单应用及目录介绍 四 root用户密码设置及忘记密码的解决方案 五 修改字符集编码 六 ...

  3. MySQL数据库初识

    认识数据库 1 什么是数据(Data) 描述事物的符号记录称为数据,描述事物的符号既可以是数字,也可以是文字.图片,图像.声音.语言等,数据由多种表现形式,它们都可以经过数字化后存入计算机 在计算机中 ...

  4. MYSQL之数据库初识、安装详解、sql语句基本操作

    目录 MYSQL之数据库初识及安装详解 1.什么是数据库? 1.什么是数据?(data) 2.什么是数据库?(databases,简称DB) 2.为什要用数据库? 3.什么是数据库管理系统?(Data ...

  5. MySQL 数据库 初识

    ---------------------------------------------确定目标,认准目标,前进,克服困难,前进,克服困难,前进克服困难,前进. # # -------------- ...

  6. 01 Mysql数据库初识

    一.数据库概述 1.什么是数据库? 什么是数据库呢? 先来看看百度怎么说的 数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据运行新增.截取.更新.删除等操作. 所谓“ ...

  7. MySQL 之数据库初识

    一 数据库概述 数据库即存放数据的仓库,只不过这个仓库是在计算机存储设备上,而且数据是按一定的格式存放的.过去人们将数据存放在文件柜里,现在数据量庞大,已经不再适用. 数据库是长期存放在计算机内.有组 ...

  8. MySQL数据库初识、下载使用(针对库、表、记录的增删改查)

    今日内容概要 数据演变史 数据库软件的本质 MySQL简介 下载与安装 基本配置 基本SQL语句 内容详细 1.数据演变史 # 1.单独的文本文件 没有固定的存放位置和格式 文件名:user.txt ...

  9. 数据库介绍及MySQL安装

    阅读目录 一.数据库是什么? 二.数据库特点 三. 什么是数据库管理系统(DataBase Management System 简称DBMS) 四.数据库服务器.数据管理系统.数据库.表与记录的关系( ...

随机推荐

  1. 【TFS错误】TF30063: 您没有访问 Microsoft-IIS/8.5 的权限

    问题现象 开发人员报告,所有的生成都失败了,日志显示下载源代码出错,系统提示错误信息为"-TF30063: 您没有访问 Microsoft-IIS/8.5 的权限-". 图1 - ...

  2. dropdownlist的OnSelectedIndexChanged方法不触发

    解决方法: AutoPostBack="true" if (!IsPostBack){ 数据绑定 } 如果数据绑定后不触发,但是手动添加数据的情况下触发<%@ Page En ...

  3. C# 实现邮件代发

    由于自己很好奇,有一些推广之类的 邮件,发件人后面,都有一个 由 .... 代发. 所以,查找了一些资料,来验证了一下实现方法. 咱们先来看看,实现代发的 理想效果图 当然,这一种,是利用 代发的 邮 ...

  4. 【cocos2d-x 手游研发----地图活起来了】

    谈到地图不少人都说要做地图编辑器了,但是我暂时绕过这一步,如果不用寻路地图就不能移动?寻路就是会绕过障碍物的算法. 我做了一个简单的地图的思想,就是地图分层3层:背景层.可行区域层.遮罩层,但是地图就 ...

  5. day 59 pymysql

    PyMySQL介绍 PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb. PYmysql安装 pip install pymys ...

  6. MySQL中需要注意的几点

    几个常用的命令: select  database(); #查看当前所在的数据库. select  user();#查看当前登录的用户 show global variables like " ...

  7. javascript 模块依赖管理的本质

    模块模式定义 模块是'javascript'的一种设计模式,它为函数定义一个包装函数,并且该包装函数的返回值与模块的API保持一致: function createModule() { functio ...

  8. SecurityManager入门

    java安全管理器SecurityManager入门 SecurityManager 每个Java应用都可以有自己的安全管理器,它是防范恶意攻击的主要安全卫士. 安全管理器通过执行运行阶段检查和访问授 ...

  9. Python小白学习之路(二十二)—【生成器】

    一.什么是生成器? 生成器可以理解成是一种数据类型,特殊地是生成器可以自动实现迭代器协议其他的数据类型需要调用自己内置的__iter__方法所以换种说法,生成器就是可迭代对象 !回忆:很重要的迭代器协 ...

  10. RabbitMQ初学之二:直接发送消息到队列

    一. 背景 总前提:队列无论是在生产者声明还是在消费者声明,只有声明了,才能在RabbitMQ的管理界面看到该队列 生产者直接发送消息到队列,消费者直接消费队列中的消息,而不用指定exchange并绑 ...