数据库初识--从MySQL 出发
要学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 出发的更多相关文章
- Learning-MySQL【1】:数据库初识及 MySQL 的安装
一.什么是数据 数据(Data):描述事务的符号记录,描述事物的符号既可以是数字,也可以是文字.图片,图像.声音.语言等,数据由多种表现形式,它们都可以经过数字化后存入计算机 在计算机中描述一个事物, ...
- {MySQL数据库初识}一 数据库概述 二 MySQL介绍 三 MySQL的下载安装、简单应用及目录介绍 四 root用户密码设置及忘记密码的解决方案 五 修改字符集编码 六 初识sql语句
MySQL数据库初识 MySQL数据库 本节目录 一 数据库概述 二 MySQL介绍 三 MySQL的下载安装.简单应用及目录介绍 四 root用户密码设置及忘记密码的解决方案 五 修改字符集编码 六 ...
- MySQL数据库初识
认识数据库 1 什么是数据(Data) 描述事物的符号记录称为数据,描述事物的符号既可以是数字,也可以是文字.图片,图像.声音.语言等,数据由多种表现形式,它们都可以经过数字化后存入计算机 在计算机中 ...
- MYSQL之数据库初识、安装详解、sql语句基本操作
目录 MYSQL之数据库初识及安装详解 1.什么是数据库? 1.什么是数据?(data) 2.什么是数据库?(databases,简称DB) 2.为什要用数据库? 3.什么是数据库管理系统?(Data ...
- MySQL 数据库 初识
---------------------------------------------确定目标,认准目标,前进,克服困难,前进,克服困难,前进克服困难,前进. # # -------------- ...
- 01 Mysql数据库初识
一.数据库概述 1.什么是数据库? 什么是数据库呢? 先来看看百度怎么说的 数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据运行新增.截取.更新.删除等操作. 所谓“ ...
- MySQL 之数据库初识
一 数据库概述 数据库即存放数据的仓库,只不过这个仓库是在计算机存储设备上,而且数据是按一定的格式存放的.过去人们将数据存放在文件柜里,现在数据量庞大,已经不再适用. 数据库是长期存放在计算机内.有组 ...
- MySQL数据库初识、下载使用(针对库、表、记录的增删改查)
今日内容概要 数据演变史 数据库软件的本质 MySQL简介 下载与安装 基本配置 基本SQL语句 内容详细 1.数据演变史 # 1.单独的文本文件 没有固定的存放位置和格式 文件名:user.txt ...
- 数据库介绍及MySQL安装
阅读目录 一.数据库是什么? 二.数据库特点 三. 什么是数据库管理系统(DataBase Management System 简称DBMS) 四.数据库服务器.数据管理系统.数据库.表与记录的关系( ...
随机推荐
- netty--NioEventLoop滴干活
netty是最近项目要用到的nio框架,找了各种资料,发现称赞它的有点多,所以决定用它:其实也就二选一嘛,mina或netty或自己写.对于mina,也不熟,不过看各种介绍,貌似netty干活还是很不 ...
- ASP.NET MVC 中单独的JS文件中获取Controller中设定的值
1,在Controller中的Action 中将指定值写上. // // GET: /Home/ public ActionResult Index() ...
- easyui-combobox url绑定后台json数据问题
<input id="line" name="line" style="max-width:120px;" class="e ...
- LeetCode149:Max Points on a Line
题目: Given n points on a 2D plane, find the maximum number of points that lie on the same straight li ...
- 设计模式之组合模式(Composite Pattern)
一.什么是组合模式? 组合模式提供了一种层级结构,并允许我们忽略对象与对象集合之间的差别 调用者并不知道手里的东西是一个对象还是一组对象,不过没关系,在组合模式中,调用者本来就不需要知道这些 二.举个 ...
- 基于STM32的平衡车机器人设计-硬件电路设计
今天分享一个STM32F103为主控的自平衡车机器人的硬件电路设计.(亲测完全可用,且没有任何问题) 电路原理图: 电源部分采用12V锂电池作为输入,分三路稳压,其中7805作为5V传感器的供电以及后 ...
- openvswitch datapath 内核态流表创建过程(ovs_flow_cmd_new)
datapath流表更新的入口函数都定义在dp_flow_genl_ops中,流表创建的入口函数是ovs_flow_cmd_new函数,通过该函数,我们可以一窥流表相关信息的建立. 1.ovs_flo ...
- ovs 下流表port 1进入,port 1出去
问题:ovs流量从in_port=1进入,然后从output:1出去,就是说,流量从哪个端口进来,然后从哪个端口出去 流表: ovs-ofctl add-flow br-int in_port=10, ...
- 配置阿里yum源,设置命令
配置阿里yum源 #linux的软件包管理 安装 软件的方式有三种 .源代码编译安装() .下载python3的源代码 .解压缩源代码 .进入源代码目录,开始编译安装 .配置环境变量 .yum方式安装 ...
- JQuery Mobile - 如何让listview不显示向右的箭头?
先看一下有向右箭头的截图吧 这个listview第二个项目,就有向右的箭头,如果单纯显示具体数据,没有扩展显示的内容,那么这个向右的箭头就是多余的,在这种情况下,最好是去掉这个向右箭头,程序中已经在第 ...