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开始算的。