(一)、数据库的存储形式和对象关系的图示:
下载mysql: 官网 download,第一个; 不要钱,不注册;
安装:看视频;设置密码的时候一定要记住,找回来密码很麻烦!
存储路径:在C目录下面,根目录;不要使用中文名文件夹;
在计算机右键 管理中 服务与应用中服务进行修改;
卸载:修改注册表,才能卸干净;
数据类型:
byte short int long
整型: tinyint(一个字节) 有符号(-128,127) 无符号(0,255)极小整型
smallint(2字节)符号(-32768,32767)(0,65535)小整型
mediumint(3字节)小整数值;
int(4个字节),整数型(0,4294967295)
bigint(8个字节),(0,18446)
浮点型:float(4字节)、double(8字节)、decimal(m,d)17字节;M总位数,D,小数位; numeric(M,D)
数据类型:char(N)0-255字符型; Varchar(N): 0-65535 字符型;
二进制数据类型:tinyblob 0-255; blob:65k; mediumblob:16M;
longblob:4G;
逻辑数据类型:boolean (0-1)
日期数据类型:year(1个字节)1901-2155
date(3个字节) 1000-9999
timesamp(4个字节): 1970年-2038年;
datatime(8个字节)1000年开始-9999年
(二)、创建数据库表格:
pk_ 代表唯一标识符ID;
f_ 普通标识符
t_ user( 属性成员1,属性成员2 );创建表格名为user;
进入:use
创建:create
删除:DROP database 数据库名;
复制:CREATE TABLE My_Friends
SELECT * FROM Friend; 复制friend;
查询:show tables databases;
查询属性
(三)、约束:
作用:保证数据库的完整性;防止垃圾数据的产生,影响数据库的执行效率;
数据可靠性 + 数据准确性 = 数据完整性;
分 类:实体完整性、域完整性、引用完整性(丈夫类能找到妻子类中的主键)、用户自定义完整性;
1、实体完整性:主键约束:设置为
主键的列不能为空,也不能被重复;
创建非空约束: NO null 不允许列表为空;
设置主键约束: KEY; primary key(name);
设置唯一约束:约束普通属性, UNIQUE(唯一,不重复)
默认约束:(DEFAULT),一定要与数据类型相匹配,制定默认值;
自动增加:用于主键设置;
主键约束:班级ID 整型; 老师名字非空约束 20个字符 学生号30个字默认约束
(四)、删除表: drop table t_user;
(五)、修改表:
规则:change 改变前原名字,改变后新名字,新约束;
单行修改:alter table t_student
change pk_stuid
pk_stuid int primary key; 修改学生列表 ,修改学生主键,增加主键约束;
多行修改:
alter table t_student
change pk_stuid
pk_stuid int primary key,
change f_age
f_age int default 20;
添加新列:add
ALTER TABLE Friend ADD Address VARCHAR(50);
更改列:change
ALTER TABLE Friend
CHANGE Phone Phone VARCHAR(11) DEFAULT('不知道电话号码');
删除列:drop
ALTER TABLE Friend
DROP COLUMN PhoneNo;
表与表的关系: 外键:
fk_命名id;
(1)表关系 【索引:设置键的约束条件】
1、一对一关系:
外键约束规则:1、只需
某一张表身上有外键字段,并设置外键约束(必须是另一方表格有的字段)和
唯一约束;
2、一对多关系:案例【学生,班级】
外键约束规则:1、外键只能设置在多方身上;
没有约束关系,不设置索引;
3、多对多关系:
必须建立一种中间表来作为学生和老师的关系表存放,关系表中设立双方的外键字段;
(2)/主从关系:
一对一,设置主键的为从表,先创建另外一张主表;
一对多,一方是主表,先建主表;
多对多,最后键中间表;中间表为从表;
(3)/创建主表,从表关系: 外键表要给外表约束的表设置其表类型为innoDB;【截图】
SQL语句类型:数据库只认自己的语句;
类型1:DDL语句(数据库及数据库中表的结构):库:创建、删除、使用; 表:创建、删除、修改; 【使用情景】:设计人员;
类型2:DML:增删改;
类型3:DQL语句: 查询;
退出:exit;