《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
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值