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 ...
随机推荐
- mysql 开启记录慢查询记录
以下操作,基于 mysql 5.5.31 版本源码安装配置. 修改 /etc/my.cnf 中 [mysqld] 中添加如下行 # 5.3 一下的配置 log-slow-queries=/var/lo ...
- libpq中调用prepared statement:
代码如下: [root@lex tst]# cat testlibpq.c /* * testlibpq.c * Test the C version of LIBPQ, the POSTGRES f ...
- 【22】将成员变量声明为private
1.为什么要将成员变量声明为private,语法一致性,只通过方法暴露接口. 2.使用方法,可以对成员变量更精确的控制.比如:为所有可能的实现提供弹性,不同实现可以替换:控制可读可写:验证约束条件:处 ...
- SQLyog MySQL GUI 11.13 Ultimate 中文破解版【转载】
SQLyog是一个易于使用的.快速而简洁的图形化管理MYSQL数据库的工具,它能够在任何地点有效地管理你的数据库! SQLyog MySQL GUI是我常用的一个桌面工具,功能强大,让你有使用MSSQ ...
- Mysql导出表结构及表数据 mysqldump用法
几个常用用例: 1.导出整个数据库 mysqldump -u 用户名 -p 数据库名 > 导出的文件名 mysqldump -u wcnc -p smgp_apps_wcnc > ...
- 批量除去php页面的bom,页面meta跑到body中就是这个问题
<?php if (isset($_GET['dir'])){ //设置文件目录 $basedir=$_GET['dir']; }else{ $basedir = '.'; } $auto = ...
- iOS的崩溃和编译错误
1. Command /bin/sh failed with exit code 127 这是因为mogenerator找不到路径,stackoverflow给出的答案是: If /usr/local ...
- Android_menu_SubMenu
menu.xml <menu xmlns:android="http://schemas.android.com/apk/res/android" > <!-- ...
- String 、InputStream、Reader 的转换
1.String –> InputStream InputStrem is = new ByteArrayInputStream(str.getBytes());orByteArrayInput ...
- Java优先级队列实现
优先级队列数组实现: public class PriorityQueue { private int[] data; private int size; public PriorityQueue(i ...