目录
数据库基础
数据库基础概述
数据库访问方式
数据库概念
数据库专业的来说,其实就是一种电子的仓库,是专门储存数据和管理数据的一种处所,用户可
以对数据库中的数据进行新增、更新或者删除等操作。
举个例子,现在每一个人都有很多朋友和同学,为了方便联系,我们在通讯录,建立有关姓名和
电话,这个通讯录就是数据库,有时候我们会修改某个电话号码。
关系数据库
关系数据库是创建在关系模型基础上的数据库,“一对一、一对多、多对多”等关系模型。借助于
集合代数等数学概念和方法来处理数据库中的数据。现实世界中的各种实体以及实体之间的各种联系均用关系模型来表示。
几乎所有的数据库管理系统都配备了一个开放式数据库连接(ODBC)驱动程序,令各个数据库之
得以互相集成。
特点有安全系数高,容易理解,比较浪费磁盘空间。
典型代表有:MySQL、Oracle、Microsoft SQL Server、Access及PostgreSQL等
非关系数据库
非关系型数据库是对不同于传统的关系数据库的数据库管理系统的统称。与关系数据库最大的不同
点是不使用SQL作为查询语言。
特点有安全系数低,效率高
典型代表有:BigTable(Google)、Cassandra、MongoDB、CouchDB;redis
还包括键值数据库:Apache Cassandra(Facebook)、LevelDB(Google)
MYSQL数据库操作
数据库构成
表(abe):在一个数据库中的表看起来像一个简单的电子表格。名字是唯一的
列( column):表中的一个字段。所有表都是由一个或多个列组成的。
行(row):表中的一个记录
主键(primary key):是一个用于唯一标识数据库表中每一行数
据的字段或字段集合。主键的值必须是唯一的,而且不能包含NULL
值。每个表只能有一个主键,它用来确保表中的每一行都能被唯一
地识别和访问。
值(value)行的具体信息, 每个值必须与该列的数据类型相同;
数据库连接
首先需要做的是添加mysql数据库的环境变量,四步:
1.右键我的电脑,点击属性,找到高级系统设置
2. 点击环境变量进行配置
3. 在系统变量中找到Path变量,点击编辑
4. 新建环境变量,将mysql安装路径下的bin路径添加至此,点击确认即可
MySQL添加到环境变量
使用命令行连接
mysql -h(主机地址) -u root(用户名) -p(指定密码)
在自己电脑上登陆可以不加-h参数。-p:如果登陆密码为空,可以忽略。
数据库操作
1、创建数据库
create database 数据库名字;
2、删除数据库
drop database 数据库名字;
3、展示数据库列表
show databases;
列出mysql数据库管理系统的数据列表。(注意是databases是复数形式)
4、使用数据库
use 数据库名
选择需要操作的数据库,使用该命令后所有的Mysql命令都只针对该数据库。
出现changed字段代表成功;
5、创建数据库
create table 表名 (属性名 数据类型 完整约束性条件);
6、约束条件
(一)主键约束
主键与记录之间的关系如同身份证和人之间的关系,他们是一一对应的。
1)主键约束要求主键列的数据要唯一,并且不允许为空。
2)主键能唯一的标识表中的一条记录,可以结合外键来定义不同数据表之间的关系,加快数据库的查询速度
3)一般分为单字段主键和多字段联合主键
1.单字段主键
字段名 数据类型 primary key [默认值]
2.多字段联合主键
primary key [字段1,字段2...]
(二)外键约束
[constraint 外键名] foreign key (字段名1)references 主表名 (主列1)
外键用来两个表之间的数据建立连接。它可以是一列或者多列。一个表可以有一个或者多个外键。外键对应的
是参照完整性,一个表的外键可以为空值,若不为空值,则一个表中的外键必须为另一个表的主键。
主表(父表):主键所在
从表(子表):外键所在
(三)非空约束
字段名 数据类型 not null
(四)字段名 数据类型 unique
注意:unique和primary key最大的区别:一个表可以有多个唯一性约束,但是只能
有一个主键约束,且声明unique可以有空值,但是primary key不可以。
(五)默认约束
字段名 数据类型 default 默认值
可以指定列表的默认值,例如,列表男性同学多,性别可以设置默认值为男,那么在如果没有
为这个字段赋值时,系统会自动为这个字段赋值“男”
7、删除数据库表
drop table table的名字;
8、插入语句
insert into table_name(field1, field2,...fieldN)
Values (value1, value2,...valueN);
插入数据后
用select * from table名查看
9、查询操作
显示指定数据库的所有表
show tables;
*使用该命令前需要使用use命令来选择要操作的数据库
———————————————————————————————————————————
显示数据表的属性,属性类型,主键信息,是否为NULL,默认值等其他信息。
show columns from table_name;
show full columns from table_name;(查看备注信息)
Field:列名;
Type:数据类型;
Null:是否能取空值;
Key:PRI(主键)、MUL(普通的b-tree索引)、UNI(唯一索引);Default:默认值;
Extra:其他信息。
———————————————————————————————————————————
显示数据库的详细索引信息,包括primary key(主键)
show index from table_name;
———————————————————————————————————————————
取出表中所有列
select * from table_name;
取出列1和列2
select 列名1,列名2 from table_name;
———————————————————————————————————————————
where子句
根据mysql表中的字段值来读取指定的数据
select * from 表名 where 字段名 =“数据”;
where的字符串比较是不区分大小写的。
可以使用where binary关键子来设定where子句的字符串比较是区分大小写的。
10、修改表的信息
修改表名
alter table 旧表名 rename 新表名;
修改字段的数据类型
alter table 表名 modify 属性名 数据类型;
修改字段名
alter table 表名 change 旧属性名 新属性名 新数据类型;
增加字段
alter table 表名 add 属性名 数据类型 【完整性约束性条件】;
删除字段
alter table 表名 drop 属性名;
数据类型
MySQL 中定义数据字段的类型对数据库的优化是非常重要的。MySQL 支持多种类型,重点以下三类:数值、日期/时间和字符串(字符)类型。