day19 数据库的初步认识
一:数据库的概念
- 数据库:一个用于储存数据并可以对之进行管理和使用的软件系统。
- sql:struct(结构) query(查询) language(语言) 结构化查询语言: 其实是一种国际化语言标准,在这个基础上开发数据库产品
- 数据库产品:mysql oracle db2 mssql......
- 需要记住的几个名词
- data:数据
- database:数据库
- DBMS:数据库管理系统
- DBServer:数据库服务器:数据库软件所在的服务器
- table:数据表
- column(filed):数据表中的列(字段)
可以这理解:在数据库管理系统产品中 选择mysql数据库管理系统在 apache 服务器上安装 再在mysql中建一个database数据库 里面有table数据表 table中有column字段
二:登录数据库系统
- 首先安装一个wamp,不要选择高版本的 高版本的有些东西改进了不成熟 出现问题很多 工作和教学尽以成熟的版本为主,推荐版本:wampserver2.2e-php5.4.3-httpd2.2.22-mysql5.5.24-32b.exe
- 登录数据库打开cmd;
- 然后输入mysql的安装目录路径(还可以把mysql.exe直接拖进命令行内)具体格式如下:注意这句命令后面没有 ;号
- 然后出提示密码输入,新安装的默认没有 直接enter键过去
- 几秒过后会进入数据库如下:
OK,现在已经登录成功,接下来要做的事数据库的基本操作。
上面操作注意点:1,在apache开着的情况下登录 2,-h后面的地址是默认的表示本机,也可以使用ip
3,–u后的名字是由管理员分配的,默认是root(初始的最高权限用户),其密码是空的
4,-p后面原则上是输入密码,但强烈建议不输入,后面系统会问,再输入
三:数据库的操作
- 登录进去数据库系统之后,在cmd模式下为了避免某些情况下乱码,首先要输入set names gbk;
- 创建一个数据库:create database 数据库名 charset utf8;
- 删除一个数据库:drop database 数据库名;
- 使用进入一个数据库:use 数据库名;
- 显示所有数据库:show databases;
四:mysql中的数据类型
- 整数类型:tinyint smallint midumnint int big int
确定一个字段的类型,要根据该字段所存储的数据的实际可能范围来确定,使用能够包括其数据的最小的一个类型
- 浮点数类型:float double 说明float四个字节组成 double八个字节组成
- 字符串类型:通常需要明确设定其长度。
可变长度类型:varchar:
说明:设定的字段的长度表示能存储的最大长度,但可以少存,则其实际长度就是其字符个数
固定长度类型:char:
说明:设定的字段的长度表示其必须存也只能存这么多,但如果少存,系统会自动补空格补满
- 时间类型:用来储存表示一个时间的数据。
时间类型time:只有时分秒(和毫秒)。日期类型data:只有年月日。日期时间类型:只有年月日时分秒。
五:表的操作:
- 创建表:create table 表名(字段名1 类型1 附属属性,字段名2 类型2 附属属性,.......) 注意创建一个表首先要使用数据库
- 附属属性:auto_increment: 一个整数的类型的自增长,通常和primary key 一起使用 promary key:保证一个字段中的数据不会重复,具有唯一性 not null 设定一个字段中的数据不可以为空 default:用于设定一个字段如果没有给定明确值的时候自动填充默认值
以上4项均可以任意同时出现在一个字段之后,相互之间用空格隔开就可以了
- 删除一个表:drop table 表名
- 修改表:
- 显示表结构:desc 表名
- 显示当前库中的所有表:show tables
- 查看表中的所有数据:select * from 表名
六:数据库操作(增):
- insert into 表名(字段1,字段2,...)values(值1,值2,...);
可以只列出一个表中的部分字段,且可以任意顺序列出,未列出的字段由其附加属性决定其值。
后面的值跟前面的字段应该“一一对应”:个数对应,类型对象
- 后面的值如果是字符串和日期类型的数据,则要用单引号引起来
七:数据库操作(删):
- delete from 表 where 条件语句
- where条件语句可以使用各种条件运算符和逻辑运算符
a) 比较运算符: > >= < <= <>(不等于) !=(不等于) =(等于)
b) 逻辑运算符: and(与) or(或) not(非)
c) 比较运算符通常用于对某个字段的数据值进行比较,来找出符合该条件的“行”,比如:
biaohan > 5;
xingming = ‘张三
d) 逻辑运算符通常是将多个条件进行整合(共同使用),举例:
bianhao > 5 and bianhao < 15
bianhao < 20 and salary > 8000
在数据的插入,修改和where条件中,字符类型和时间类型的数据都要用单引号。
八:数据库操作(改):
- update 表名 set字段1=值1,字段2=值2,where条件语句;
修改也应该认为是以“行”为单位的,虽然可以指定只修改其中的某些字段的数据
这些字段也可以不按实际数据表中的顺序列出
where条件来决定改语句可以修改多少数据行
九:数据库操作(查):
- select 字段1,字段2,......from 表名 where 条件语句 order by 排序语句 limit 限定语句
- 字段可以是随意列中的部分字段,也可以不按实际顺序,*可以表示全部字段
- 以上形式中的where,order by,limit语句,可以任意出现,但他们的相对顺序不能改变
where 条件语句同前面delete和update,此时可有可无,select不会改变数据本身
- order by排序语句用于将前面取出的数据以某个字段进行排序出来,有升序(asc)和降序(desc);语法如下:oreder by 用于排序的字段1 排序方式1,用于排序字段2 排序方式2,....
- limit限定语句用于将前面取出的并排好序的数据进行数量限定,即只取出其中的部分数据,取的方式为:从第几行取出多少行,行号是从o开始算的。
day19 数据库的初步认识的更多相关文章
- 小型单文件NoSQL数据库SharpFileDB初步实现
小型单文件NoSQL数据库SharpFileDB初步实现 我不是数据库方面的专家,不过还是想做一个小型的数据库,算是一种通过mission impossible进行学习锻炼的方式.我知道这是自不量力, ...
- 对redis数据库的初步认识
由于之前接触的都是关系型数据库,对于非关系型数据库总是不了解,趁着外出做项目的机会,正好初步认识了redis数据库 redis分为存储分为几个存储的数据类型 string类型,hash类型,list链 ...
- mysql数据库字符集初步理解
1.MySQL(4.1以后版本) 服务器中有六个关键位置使用了字符集的概念,他们是: 1.client 2.connection 3.database 4.results 5.server 6.sys ...
- day35 数据库的初步认识
一. 数据库的由来分类 1. 数据库的概念 百度定义: 数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据运行新增.截取.更新.删除等操作. 所谓“数据库”系 ...
- Oracle数据库之初步接触
每个Oracle数据库都是数据的集合,这些数据包含在一个或多个文件中.数据库有物理和逻辑两种结构.在开发应用程序的过程中,会创建诸如表和索引这样的结构,这些结构用于数据行的存储和查询.可以为对象的名称 ...
- MySQL数据库学习初步
我使用的环境是Win7,开始学习PHP和MySQL,并且买了本<Head First PHP & MySQL>,可以从Head First Labs官网获得HeadFirst系列书 ...
- Redis数据库的初步认识(二)-C/C++连接redis数据库
1用C语言连接数据库,首先要安装c语言的数据库 在目录/redis- 4.0.1/deps下面执行sudo make/make install命令 在执行完之后可能执行ldconfig命令来更新连接符 ...
- CYQ.Data V5 数据库读写分离功能介绍
前言 好多年没写关于此框架的新功能的介绍了,这些年一直在默默地更新,从Nuget上的记录就可以看出来: 这几天在看Java的一些东西,除了觉的Java和.NET的相似度实在太高之外,就是Java太原始 ...
- postgreSQL数据库的初探
kali是黑客的强大武器,还有一个也是哦——Metasploit postgreSQL数据库是Metasploit的默认数据库哦! 启动postgresql: service postgresql s ...
随机推荐
- php递归无限极分类
递归无限级分类有几种形式,我这里仅仅举例比較经常使用的三种: 第一种:返回有排序的数组: <?php $data = array( 1 => array( 'id' => 1, 'p ...
- C#_MVC_ajax for form
在上一篇介绍MVC中的Ajax实现方法的时候,曾经提到了除了使用Ajax HTML Helper方式来实现之外,Jquery也是实现Ajax的另外一种方案. 通过get方法实现AJax请求 View ...
- 解决FLASH最高层的问题,让FLASH置于div之下
三个步骤:1.设置div 的 z-index:9999 //在最上面显示 这一步就可以保证div在img之上2.<param name="wmode" value=" ...
- CSS 之 清除 float 常用的方法
大多数前端使用.clearfix:after{ .....} 和 .clearit{....}的组合来清除浮动. 前端开发经常用到浮动 float:left; float:right; 有浮动就需要 ...
- ubuntu nexus 安装
今天公司组织学习使用linux系统搭建nexus maven私服中央仓库,在公司使用centos搭建了一个,回家又用ubuntu搭建一个,主要是为了能熟悉整个流程,现将主要过程总结如下:(PS:楼主是 ...
- kali Linux 文本图形界面切换遇到的怪问题
前段装了在Virtual Box上装一个Kali Linux玩,然后设为了开机进入文本界面,后来遇到无法上网的问题,网上找到解决方法,说是NAT地址转换和host-only双网卡顺序问题,按照网上的说 ...
- nginx笔记---http配置
1.三个逻辑区段 http:该区段嵌入配置文件的根部,在这个区段中允许定义指令和嵌入http相关模块.他包含了一个或多个server区段,他也能够使全局配置生效. server:这个区段建立了一个站点 ...
- Servlet原理
Servlet主要用来处理客户端请求并将其结果发送到客户端,下面我们来详细看一下Servlet. 一.Servlet的生命周期 Servlet的生命周期是由Servlet的容器来控制的(Tomcat ...
- Hadoop MapReduceV2(Yarn) 框架简介
http://www.ibm.com/developerworks/cn/opensource/os-cn-hadoop-yarn/ 对于业界的大数据存储及分布式处理系统来说,Hadoop 是耳熟能详 ...
- 工作流引擎Activiti使用总结
http://www.kafeitu.me/activiti/2012/03/22/workflow-activiti-action.html 1.简单介工作流引擎与Activiti 对于工作流引擎的 ...