《MySQL数据库应用技术》

第二章

数据库和表的基本操作

(一)数据库的操作:

1.创建数据库:create database 数据库名;        (数据库名是唯一的,不可重复)

2.查看所有数据库:show databases;

3.查看数据库信息show create database 数据库名;

4.修改数据库:alter database 数据库名 default character set 编码方式 collate 编码方式_bin;

5.删除数据库:drop database 数据库名;
(删除成功后,库中的所有数据都将被清除,原来分配的空间也将被收回)

(二)数据表的操作:

1.创建数据表:(需要先打开要用到的数据库:\u 数据库名;(use 数据库名;))

create table 表名(字段名1,数据类型[完整性约束条件],

字段名2,数据类型[完整性约束条件],...);

 2.查看数据表:
使用show create table查看(不仅可以查看创建表时的定义语句,还可以查看表的字符编码):
show create table 表名;
使用describe查看(可以查看表的信息,包括字段名,字段类型等)
describe 表名;        或        desc 表名;

{null:表示该列是否可以存储null值;
key:表示该列是否已经编制索引;
default:表示该列是否有默认值;
extra:表示获取到的与给定列相关的附加信息}

3.修改数据表:

①修改表名:alter table 旧表名 rename [to] 新表名;

②修改字段名:alter table 表名 change 旧字段名 新字段名 新数据类型;
(新数据类型不能为空,就算新、旧字段的数据类型相同)

③修改字段的数据类型:alter table 表名 modify 字段名 数据类型;

④.添加字段:alter table 表名 add 字段名 数据类型 [约束条件] [first | after 已存在字段名];

⑤.删除字段: alter table 表名 drop 字段名;

⑥.修改字段的排列位置(first指将字段改为表的第一个字段):

alter table 表名 modify 字段名1 数据类型 first| after 字段名2;

⑦.删除数据表:drop table 表名;

(三)表的约束

(为防止数据表中插入错误的数据,定义的维护数据库完整性的规则)

{primary key         主键约束,用于唯一标识对应的记录
foreign key         外键约束
not null         非空约束
unique         唯一性约束
default         默认约束,用于设置字段的默认值}

1.主键约束(每个数据表中最多只能有一个主键约束,定义为主键的字段不能有重复值,且不能为null值)
a.单字段主键:由一个字段构成的主键
字段名 数据类型 primary key

b.多字段主键:由多个字段组合而成的主键
primary key (字段名1,字段名2,...字段名n)

2.非空约束(字段值不能为null)可以定义多个非空约束
字段名 数据类型 not null;

3.唯一约束(保证字段的唯一性,即表中的字段值不能重复出现)
字段名 数据类型 unique

4.默认约束(给表中的字段指定默认值,即当插入新纪录时,没给该字段赋值,则系统自动给该字段插入默认值)
字段名 数据类型 default 默认值

设置表的字段值自动增加

(约束的字段可以是任何整数类型,默认情况下,从1开始自增)
字段名 数据类型 auto_increment

索引(加快数据的查询和排序)

是对数据库表中一列或多列的值进行排序后的一种结构,作用:提高表中数据的查询速度

1.普通索引(由key或index定义的索引,是MySQL中的基本索引类型,可以创建在任何数据类型中,其值是非唯一和非空由字段本身的约束条件决定)
例:create table t1 (id int(7),name varchar(20),index (id));

2.唯一索引(由unique定义的索引,所在字段的值必须是唯一的)
例:create table t2 (id int not null, name varchar(20) not null, unique index unique_id(id asc));

3.全文索引(由fulltext定义的索引,只能创建在char、varchar或text类型的字段上,且目前只有MyISAM存储引擎支持全文索引)
例:create table t3 (id int not null, name varchar(20) not null,fulltext index fulltext_name(name)) engine=MyISAM;

4.单列索引(指在表中单个字段上创建索引,可以是普通、唯一或全文索引,只要保证该索引只对应表中一个字段即可)
例:create table t4 (id int not null, name varchar(20) not null,index single_name(name(20)));

5.多列索引(指在表中多个字段上创建索引,只有在查询条件中使用了这些字段中的第一个字段时,该索引才会被使用)
例:create table t5 (id int not null, name varchar(20) not null,index multi(id,name(20)));

6.空间索引(由spatial定义的索引,只能创建在空间数据类型的字段上,geometry、point、linestring和polygon四种数据类型,字段必须先声明为not null,且只能存在MyISAM存储引擎的表中创建)
例:create table t6 (id int not null, name varchar(20) not null,space geometry not null,spatial index sp(space)) engine=MyISAM;

①创建表时创建索引:
create table 表名(字段名 数据类型 [完整性约束条件],
...
[unique|fulltext|spatial] index|key [别名](字段名1[(长度)]  [asc|desc])
);

②使用create index 在已经存在的表中创建索引:
create [unique|fulltext|spatial] index|key 索引名 on 表名 (字段名1[(长度)]  [asc|desc]));

③使用alter table在已经存在的表中创建索引:
alter table 表名 add [unique|fulltext|spatial] index|key 索引名 (字段名1[(长度)]  [asc|desc]));

用show create table 表名\G         查看表的结构

删除索引(索引会占用一定磁盘空间,为了避免影响数据库性能)

①用alter table删除索引:alter table 表名 drop index 索引名;

②用drop index删除索引:drop index 索引名 on 表名;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实验目的 熟悉MySQL环境的使用,掌握在MySQL中创建数据库和表的方法,理解MySQL支持的数据类型、数据完整性在MySQL下的表现形式,练习MySQL数据库服务器的使用,练习CREATE TABLE,SHOW TABLES,DESCRIBE TABLE,ALTER TABLE,DROP TABLE语句的操作方法。 实验内容: 【实验1-1】MySQL的安装与配置。 参见4.1节内容,完成MySQL数据库的安装与配置。 【实验1-2】创建“汽车用品网上商城系统”数据库。 用CREATE DATABASE语句创建Shopping数据库,或者通过MySQL Workbench图形化工具创建Shopping数据库。 【实验1-3】在Shopping数据库下,参见3.5节,创建表3-4~表3-11的八个表。 可以使用CREATE TABLE语句,也可以用MySQL Workbench创建表。 【实验1-4】使用SHOW、DESCRIBE语句查看表。 【实验1-5】使用ALTER TABLE、RENAME TABLE语句管理表。 【实验1-6】使用DROP TABLE语句删除表,也可以使用MySQL Workbench删除表。 (注意:删除前最好对已经创建的表进行复制。) 【实验1-7】连接、断开MySQL服务器,启动、停止MySQL服务器。 【实验1-8】使用SHOW DATABASE、USE DATABASE、DROP DATABASE语句管理“网上商城系统” Shopping数据库。 实验训练2:数据查询操作 请到电脑端查看 实验目的: 基于实验1创建的汽车用品网上商城数据库Shopping,理解MySQL运算符、函数、谓词,练习Select语句的操作方法。 实验内容: 1.单表查询 【实验2.1】字段查询 (1)查询商品名称为“挡风玻璃”的商品信息。 分析:商品信息存在于商品表,而且商品表中包含商品名称此被查询信息,因此这是只需要涉及一个表就可以完成简单单表查询。 (2)查询ID为1的订单。 分析:所有的订单信息存在于订单表中,而且订单用户ID也存在于此表中,因此这是只需要查询订单表就可以完成的查询。 【实验2.2】多条件查询 查询所有促销的价格小于1000的商品信息。 分析:此查询过程包含两个条件,第一个是是否促销,第二个是价格,在商品表中均有此信息,因此这是一个多重条件的查询。 【实验2.3】DISTINCT (1)查询所有对商品ID为1的商品发表过评论的用户ID。 分析:条件和查询对象存在于评论表中,对此商品发表过评论的用户不止一个,而且一个用户可以对此商品发表多个评论,因此,结果需要进行去重,这里使用DISTINCT实现。 (2)查询此汽车用品网上商城会员的创建时间段,1年为一段。 分析:通过用户表可以完成查询,每年可能包含多个会员,如果把此表中的创建年份都列出来会有重复,因此使用DISTINCT去重。 【实验2.4】ORDER BY (1)查询类别ID为1的所有商品,结果按照商品ID降序排列。 分析:从商品表中可以查询出所有类别ID为1的商品信息,结果按照商品ID的降序排列,因此使用ORDER BY语句,降序使用DESC关键字。 (2)查询今年新增的所有会员,结果按照用户名字排序。 分析:在用户表中可以完成查询,创建日期条件设置为今年,此处使用语句ORDER BY。 【实验2.5】GROUP BY (1)查询每个用户的消费总金额(所有订单)。 分析:订单表中包含每个订单的订单总价和用户ID。现在需要将每个用户的所有订单提取出来分为一类,通过SUM()函数取得总金额。此处使用GROUP BY语句和SUM()函数。
MySQL是一种常用的关系型数据库管理系统,它广泛应用于各个领域,包括北京邮电大学的数据库应用技术。 首先,MySQL提供了良好的数据存储和管理能力,可以帮助北京邮电大学存储、管理和查询大量的学生、教职员工,以及其他相关信息。通过建立数据库和数据表,可以将不同的数据按照一定的结构进行组织,并利用MySQL的索引功能,有效地提高数据的查询性能和数据的准确性。 其次,MySQL提供了强大的数据备份和恢复机制,对于北京邮电大学重要的数据来说是非常关键的。通过MySQL的备份功能,可以定期将数据库进行备份,以防止数据的不可预测丢失。而在数据发生意外删除或损坏时,可以通过MySQL的恢复机制将备份的数据重新导入,保证数据的完整性和可用性。 此外,MySQL还可以通过开发SQL语句和存储过程来进行高级的数据处理和计算。例如,对于北京邮电大学的教务系统来说,可以通过编写SQL语句来查询学生的成绩和课程信息,并进行统计和分析。同时,MySQL还支持事务处理,可以保证数据库操作的一致性和完整性。 最后,MySQL还提供了丰富的安全机制和权限管理功能,可以有效地保护北京邮电大学的数据库免受非法访问和恶意操作。通过设置用户权限,可以限制不同用户对数据库的访问和操作权限,保证数据的安全性。 综上所述,MySQL数据库应用技术在北京邮电大学中具有重要的作用,可以支持学校的数据管理、备份恢复、数据处理和安全管理等方面的需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值