我是活雷锋

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
关系型数据库
基本概念
关系模型把世界看作是由实体和联系组成
Entity:实体,现实世界客观存在并可相互区别的事物。实体所具有的某一特性称为属性(Attribute)
Relationship:联系
以关系模型来创建的数据库称为关系型数据库 Relational Database,相似的实体被存入表 table 中,table 是关系型数据库的核心单元
表 table 的内部数据分为列 column 和 行 row ,一行代表一个实体,每一列代表一个属性
主键 Primary Key 表中每一行与其他行的区分
外键 Foreign Key 表达表与表之间的关联关系
表之间的关联关系分为
1.one2one
2.one2many
3.many2many
关系型数据库管理系统:Relational DataBase Management System (RDBMS)
结构化查询语言:Structured Query Language (SQL)
SQL语句分类:
1.数据定义语言(DDL):创建、修改、删除数据结构 CREATE、DROP、RENAME
2.数据查询语言(DQL):查询数据 SELECT
3.数据操作语言(DML):插入、更新、删除数据 INSERT、UPDATE、DELETE
4.数据控制语言(DCL):GRANT、REVOKE
管理数据库和表
创建和使用数据库
创建数据库:
CREATE DATABASE  数据库名;  
连接到数据库:
USE  数据库名;  
删除数据库:
DROP DATABASE 数据库名;  
数据类型
常用的数据类型如下:
INT / DECIMAL / VARCHAR / TEXT / DATETIME  
管理表
创建表:
CREATE TABLE  表名 (列名  列的数据类型 (列的约束))  
删除表:
DROP TABLE  表名  
表中添加列:
ALTER TABLE 表名 ADD 列名  列的数据类型 (列的约束)  
表中删除列:
ALTER TABLE 表名 DROP COLUMN 列名  
表中更改列:
ALTER TABLE CHANGE 修改前列名  修改后列名  新列数据类型(列的约束)  
创建索引:
CREATE (UNIQUE) INDEX 索引名 ON 表名 列名  
删除索引:
ALTER TABLE 表名 DROP INDEX 索引名  
数据完整性
包括:
1.实体完整性:主键约束、唯一约束
2.域完整性:外键约束、检查约束、默认值定义、非空约束
3.引用完整性:外键约束
4.用户自定义完整性
非空约束
句末 + NOT NULL  
主键约束
ALTER TABLE class PRIMARY KEY auto_increment;  //主键约束+自动编号
ALTER TABLE class CHANGE cla_id cla_id int AUTO_INCREMENT   //增加主键
ALTER TABLE class cla_id int AUTO_INCREMENT = 100  //从100开始自动编号
ALTER TABLE class DROP  primary key  //删除主键
唯一约束
UNIQUE;  //可以为空 NULL
create table t1(
    t1_id int ,
    t1_name varchar(20) ,
    CONSTRAINT unq_name UNIQUE(t1_name)
)  
ALTER TABLE class DROP INDEX 唯一约束列名,    //删除唯一约束
默认值约束
DEFAULT '约束的具体内容'  
检查约束
CHECK(U_Type = 0 OR U_Type = 1);  //示例  
外键约束
注意:
1.一般情况下,外键只能连主键
2.外键和主键的类型必须一样
3.外键一般写在多方中
语法示例:
CREATE TABLE classes(
cla_id INT PRIMARY KEY auto_increment,
cla_name VARCHAR(20),
cla_address VARCHAR(30)
)

CREATE TABLE student(
stu_id INT PRIMARY KEY auto_increment,
stu_name VARCHAR(20),
stu_age INT,
stu_address VARCHAR(30)DEFAULT'红瓦寺',
cla_id INT,
CONSTRAINT FK_student_claId FOREIGN KEY(cla_id)REFERENCES classes(cla_id)
)   
删除外键约束:
ALTER TABLE 表名 DROP FOREIGN KEY (外键名 FK_student_claId);

 

posted on 2017-01-07 13:27  我是活雷锋  阅读(284)  评论(0编辑  收藏  举报