标签:自动增长 led 删除表 let amp idm 视图 引用 创建数据库
数据库管理系统提供的功能
1,数据定义语言
2,数据操作语言
3,数据控制语言
sql:结构化查询语言
数据库对象:指存储,管理好实用数据库的不同结构形式。主要包括表,视图,存储过程,函数,触发器和事件等
创建数据库:语法:create datebase datebase_name
数据库名命名规则:字母,数字,下划线,@,#和$组成
MySQL支持的存储引擎有:ImoDb,MySAM,Memory,Merge,
查看存储引擎:show engines
查看对应的数据 show databases
打开数据库
登录数据库
删除数据库
drop database 数据库名;
用户操作:
创建用户:test1代表用户名 后面的test1代表用户密码 localhost代表主机名
删除用户:test07代表用户名,localhost代表主机名,可以用IP地址表示
给用户授权:grant 权限名称 on ‘数据库名‘ to ‘用户名‘@‘localhost‘;
收回用户权限: revoke 权限名 on 数据库名.表名 from ‘用户名’@‘主机名’
创建表
create table
数据库的常见操作
三建四句
建表,建库,建约束(create table,database,constraint)
增删改查(insert,delete,update,select)
a) 如何来创建表的
i. 表的概念
a) 冗(rong)余:在数据库表中,出现重复的数据
i. 如何减少数据冗余:把一张表分解为几张表,然后进行关联
ii. 减少数据冗余的同时,增加了数据查找的复杂性。从而降低效率。
iii. 在数据库中,是允许有一定冗余
b) 数据的完整性
i. 不正确性(违反数据库的完整性)
ii. 不准确性(违反数据库的完整性)
iii. 数据完整性=正确性+准确性
iv. 可以通过约束来确保数据库的完整性
v. 完整性的分类
ii. 表的创建(table)
a) 连接数据库
b) 打开数据库
c) 右键
d) 新建表
a) 查看数据库中下所有的表格:show tables
b) 创建表
i. 语法:create table 表名(列名1 数据类型 约束条,列名2…)
c) 查看表结构
i. Desc 表名
d) 删除表(删除表结构)
i. Drop table 表名
e) 自动增长
i. Auto_increment
a) 使用代码创建表(用户表:users):
b) 列有:
i. Id
ii. Username
iii. Password
iv. Sex
v. Age
vi. birthday
二.数据类型
a) 数值类型
i. 整数
ii. 小数
a) float(4个字节: 正负3.402E+38)
b) double(8个字节: 正负 1.7E308)
a) decimal(M,D)
b) 范围与double类型一致
c) 精度更加精确
d) M:有效位数
e) D:小数点位数
b) 字符类型
i. char(M)
ii. varchar(M)
iii. Blob(lob:large object)
iv. text
v. enum类型(枚举类型)
vi. set类型(集合类型)
c) 日期时间类型
i. dateà日期:1000-01-01 9999-12-31
ii. timeà时间:-838:59:59 838:59:59
iii. datetimeà1000-01-01 00:00:00 9999-12-31 23:59:59
iv. timestampà19700101080001 2038
v. yearà
三.Mysql表结构的操作
四.Mysql约束
a) 非空约束 not null
b) 主键约束(primary key)
i. 一个表只允许有一个主键(可以没有主键)
ii. 主键的列,必须满足两个要求
iii. 主键的选择规则
a) 选择最少的列作为主键(一列或两列)
a) 这一列的值,一旦生成,就很少发生改变
i. 创建方式:
b) 唯一约束
i. 创建方式
c) 默认值约束
i. 关键字
MODIFY COLUMN `password` varchar(20) NOT NULL DEFAULT ‘123456‘
d) 外键约束
i. 外键引用(引用完整性)
ii. ALTER TABLE `orders` ADD FOREIGN KEY (`user_id`) REFERENCES `users` (`id`);
iii. 如何确定外键
iv. ER图
e) 检查约束:在mysql中,可以指定检查约束,但是没效果
f) 约束的常见的前缀的名称
i. PKà主键
ii. FKà外键
iii. CKà检查约束
iv. DFà默认值约束
v. UQà唯一约束
二.Mysql自动增长
三.总结:
a) 表的创建(重点)
i. 界面
ii. 代码
b) 数据类型(重点)
i. 数值类型
ii. 字符类型
iii. 日期时间类型
c) 完整性约束
i. 实体完整性
ii. 域完整性
iii. 引用完整性(难点)
create table Stu
(
StudentNo varchar(50) not null,
LoginPwd varchar(20) not null default‘123456‘,
StudentName varchar(50) not null,
Sex char(2) not null,
gradeld int not null,
Phone varchar(255) not null,
Adress varchar(255) not default‘学生宿舍‘,
Borndate datatime null,
Email varchar(50) null,
PRIMARY KEY (`StudentNo`)
);
#创建学生表
create table Stu
(
StudentNo varchar(50) not null,
LoginPwd varchar(20) not null default‘123456‘,
StudentName varchar(50) not null,
Sex char(2) not null,
gradeld int not null,
Phone varchar(255) not null,
Adress varchar(255) not NULL default‘学生宿舍‘,
Borndate datetime(5) null,
Email varchar(50) null,
PRIMARY KEY (`StudentNo`)
)
;
#创建科目表
CREATE TABLE SubList
(
SubjectId int NOT NULL,
SubjectName VARCHAR(20) NOT NULL,
ClassHour int NOT NULL,
GradeId int NOT NULL,
PRIMARY KEY (`SubjectId`)
);
#创建年级表
CREATE TABLE GradeClass
(
GradeIdm INT NOT NULL,
GradeName VARCHAR(50) not NULL,
PRIMARY KEY (`GradeIdm`)
);
#创建成绩表
CREATE TABLE GradeList
(
Id INT NOT NULL PRIMARY KEY,
StudentNo VARCHAR(50) NOT NULL,
SubjectId INT NOT NULL,
StudentResult int NULL,
ExampleDate DATE NOT NULL
);
创建学生表
create table Stu
(
StudentNo varchar(50) not null UNIQUE,
LoginPwd varchar(20) not null default‘123456‘,
StudentName varchar(50) not null,
Sex char(2) not null,
gradeld int not null,
Phone varchar(255) not null,
Adress varchar(255) not NULL default‘学生宿舍‘,
Borndate datetime(5) null,
Email varchar(50) null,
PRIMARY KEY (`StudentNo`)
)
;
#创建科目表
CREATE TABLE SubList
(
SubjectId int NOT NULL UNIQUE,
SubjectName VARCHAR(20) NOT NULL,
ClassHour int NOT NULL,
GradeId int NOT NULL,
PRIMARY KEY (`SubjectId`)
);
#创建年级表
CREATE TABLE GradeClass
(
GradeIdm INT NOT NULL UNIQUE,
GradeName VARCHAR(50) not NULL,
PRIMARY KEY (`GradeIdm`)
);
#创建成绩表
CREATE TABLE GradeList
(
Id INT NOT NULL PRIMARY KEY UNIQUE,
StudentNo VARCHAR(50) NOT NULL,
SubjectId INT NOT NULL,
StudentResult int NULL,
ExampleDate DATE NOT NULL
);
标签:自动增长 led 删除表 let amp idm 视图 引用 创建数据库
原文地址:http://www.cnblogs.com/JavaMurcielago/p/6662099.html