MySQL数据库

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

MySQL数据库

1.数据库

又称Database,是存储和管理数据的软件系统,是各种数据库对象的集合。它的作用是存储数据,管理数据和检索数据

数据库可以简单看成存放“数据”的“仓库”,它是由表和其他数据库对象组成,数据存放在表中

2.数据库的文件

主数据文件:

包含数据库的启动信息,还可以用来存储数据。扩展名:mdf

事务日志文件:

保存用来恢复数据库的日志信息。扩展名:ldf

3.创建和删除数据库

创建数据库:

Create database 数据库名

删除数据库:

Drop database 数据库名

4.基本数据类型

varchar:

用以存储可变长度的字符串,单位是“字节”nvarchar:

用以存储可变长度的字符串,单位是“字符”char:

用以存储固定长度的字符串,单位是“字节”datatime:

用以存储日期时间数据

float、decimal:

用来存储浮点类型数据

5.约束方法和完整性

七大约束方法:

主键约束、外键约束、唯一约束、标识列、默认值约束、check 约束、非空约束

三大完整性:

域完整性、实体完整性、引用完整性

主键约束:

必须给一张表建立一个永不重复的字段,用来区分一张表中的每一条记录,这个字段称为主键,任何一张数据表都必须要定义主键

6.SQL语句创建表

CREATE TABLE student(

sid INT PRIMARY KEY AUTO_INCREMENT,

sname VARCHAR(10) NOT NULL CHECK(len(sname)>1), sex NVARCHAR(1) NOT NULL DEFAULT '男',

class VARCHAR(10)

)AUTO_INCREMENT=1001;

CREATE TABLE course(

cid INT PRIMARY KEY AUTO_INCREMENT,

cname VARCHAR(30) NOT NULL UNIQUE

);

CREATE TABLE score(

scid INT PRIMARY KEY AUTO_INCREMENT,

sid1 INT NOT NULL,

cid1 INT NOT NULL,

score DECIMAL(5,1)

);

#创建外键

ALTER TABLE score ADD CONSTRAINT sid1 FOREIGN KEY(sid1) REFERENCES student(sid);

ALTER TABLE score ADD CONSTRAINT cid1 FOREIGN KEY(cid1) REFERENCES course(cid);

7.SQL语句关键字

CREATE TABLE:

创建表的语法,其后跟表的名称,表名称不要和关键字冲突

PRIMARY KEY:

定义该字段为主键字段

AUTO_INCREMENT:

定义为标识列

NULL/ NOT NULL:

定义该列是否可以为NULL,如果不写,则默认是NULL CHECK(len(sname)>1):

定义约束,规定sname的值的长度必须大于一个字符DEFAULT :

定义默认值,其后给出默认的值

UNIQUE:

定义唯一约束,规定该列的值不可发生重复

FOREIGN KEY:

定义该列为外键

REFERENCES :

定义该外键列引用了某主键表的某主键列

表中除了最后一列的定义外,其他列的定义后跟“,”结束8.删除表

Drop table 表名

注意:

一定要先删除外键表,然后删除主键表,否则数据库管理系统会报错。原因:如果先删除了主键表,会导致外键表的外键,引用不到对应的主键表的主键,造成引用不完整

9.添加、更新、删除表中的数据

添加数据:

Insert into 表名(列名1,列名2)values(值1,值2)向student表中添加数据:

Insert into student(sname ,sex,class) values(‘Lucy’,’女’,’五班’) 更新数据:

Update 表名set 列名=值where 条件

将所有学员1号课程的分数加5分:

Update score set score=score+5 where cid=1

删除数据:

Delete from 表名where 条件

Truncate table 表名

10.查询语句

Select 列名列表from 表名where 条件

查询所有学员信息:

Select * from student

“*”号表示student表的所有列

11.排序

Order by指定查询出的结果集根据那个列来排序按照班级升序排序

Select * from student order by class asc

Asc表示升序,desc表示降序

12.合并重复记录

Distinct可以在查询结果中合并重复记录

查询哪些课程考过了

Select distinct(cid) from score

13.union

union的作用是联合两个查询的结果集

查询学生表中学号为1001、1003的学生信息

SELECT * FROM student WHERE sid=1001

UNION

SELECT * FROM student WHERE sid=1003;

14.Limit

Limit子句可以被用于强制SELECT 语句返回指定的记录数

limit m,n

其中m是指记录开始的index,从0开始,表示第一条记录

相关文档
最新文档