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 ... 
随机推荐
- Genymotion与本地电脑共享文件夹的方法
			首先打开vbox的界面,左侧列表应该可以看到Genymotion添加的虚拟机,如图:对要设置的虚拟机单击右键,在弹出的菜单中点击“设置...”,弹出设置页面后点击左侧最后一个标签“共享文件夹”,点击右 ... 
- http://www.360doc.com/content/10/1012/09/3722251_60285817.shtml
			http://www.360doc.com/content/10/1012/09/3722251_60285817.shtml http://www.docin.com/p-163063250.htm ... 
- BZOJ 1927: [Sdoi2010]星际竞速 费用流
			1927: [Sdoi2010]星际竞速 Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeOnline/pr ... 
- leetcode第一刷_Jump Game
			这个题事实上非常easy的,我一開始想复杂了,它没要求记录路径,事实上仅仅要看一下每一步之后所能延伸到的最远的位置就能够了,在这一个最远位置前面的那些位置,都是能够到达的,假设扫到了某个i,它大于当前 ... 
- .net core 1.1.0 MVC 控制器接收Json字串 (JObject对象) (二)
			.net core 1.1.0 MVC 控制器接收Json字串 (JObject对象) (二) .net core 1.1.0 MVC 控制器接收Json字串 (JObject对象) (一) 上一篇主 ... 
- ADT在线安装
			以往安装ADT根本就不是个问题,可是现在就是个大问题了,联通的宽带网络连www.google.com.hk都打不开,你叫我们这些P民怎么活? https://dl-ssl.google.com/and ... 
- 【转】使用Beaglebone Black的I2C (二)——使用C语言和i2c-dev驱动
			在本博客的<使用Beaglebone Black的I2C(一)>中,介绍了BBB上无需编程对i2c总线进行读写操作的方法,本文将介绍如何在c语言程序中使用i2c-dev驱动来操作i2c设备 ... 
- python--for循环
			1.循环输出1-10 for i in range(1,11): print(i) 1 2 3 4 5 6 7 8 9 10 2.break用法,break为跳出整个当前循环层,只跳一层.当i=5的时 ... 
- 一个响应式数据库框架SQLBrite,完美解决数据库和UI的同步更新!
			相信小伙伴们在开发中或多或少都可能遇到过这样的问题:打开一个应用后,为了快速响应,先将数据库中的数据呈现给用户,然后再去网络上请求数据,请求成功之后将数据缓存至数据库,同时更新UI,但是我们经常会这样 ... 
- Java中double类型数据的精度问题
			今天在写段代码模拟计算器的时候,偶然发现,当我进行小数运算的时候,竟然出现了令我惊讶的结果,后来问了问度娘,才晓得,原来这里面还有点知识呢,下面是介绍: 你猜下面几句的结果是多少? public cl ... 
