数据库原理
常用网站:
http://c.biancheng.net/view/2618.html
1。为什么要有数据库 ?
(1)数据“持久化”。
(2)有组织/有结构的方式来存储我们的数据,更方便增、删、改、查...
2、什么是数据库
DB:Database,数据库->数据仓库,存储数据用的,并有结构的存储。
DBMS:Database Management System 数据库管理系统,是管理多个DB,如:
mysql,oracle,sql server, access, redis,mango db...
SQL:Structured Query Language 结构化查询语言
3、使用命令行客户端
(1)确定环境变量正确
可以使用mysql命令
(2)mysql命令的格式:
mysql -h localhost -P 3306 -u root -p
Enter password:密码
说明:
(1)-h,-P,-u后面可以有空格也可以没有空格,但是最后-p后面不要加空格
(2)如果你是默认连接本机localhost,那么可以省略-h localhost
(3)如果你是默认用3306端口号,那么可以省略-P 3306
4. mysql是系统库重要 ,存用户,密码等 。其它 两个存索引等 。
5.mysql属于关系型数据库
二维(行,列)表格形式
MYSQL的DBMS系统中会有很多库 DB
但一个DB数据库中又会有很多张表格table
每一个表格中会有很多的列column和行record.
access是桌面型关系型数据库:
关系型数据库使用的模型叫做关系模型,一个关系表就是一张二维的表格,每一行称为一条记录
主键,是在一个表中唯一标识一行记录。主键只在一个表中表示唯一就可以了。
表和表之间可以用关系模型关联起来:
最常见的是一对多关系:如下面一对多关系通过在多的一方创建一个 class_id字段,引用class表的id
class_id这个列就叫外键 ,它的作用是关联到 某个表的主键,实现一对多的关系
多对多的关系:实际上就是多个一对多的关系组合起来
查看系统变量:
基本操作:
(1)查看当前的DBMS系统中都有哪些数据库?
show databases;
(2)查看某个数据库中都有什么表格?
show tables;
mysql> show tables;
ERROR 1046 (3D000): No database selected
方式有两种:
方式一:show tables from 数据库名;
mysql> show tables from test;
Empty set (0.00 sec)
方式二:
use 数据库名;
show tables;
(3)查看某张表的数据
方式一:
select * from mysql.user;
方式二:
use 数据库名;
select * from user;
(4)创建一个表格
create table test.stu(
id int,
name varchar(20),
age int
);
(5)添加记录
insert into test.stu values(1,'张三',23);
mysql> insert into test.stu values(1,'张三',23);
ERROR 1366 (HY000): Incorrect string value: '\xD5\xC5\xC8\xFD' for column 'name' at row 1
因为客户端是GBK,而服务器端认为我当前的客户端是UTF-8。
可以通过如下的语句,告知服务器当前的客户端是GBK。
set names gbk;