数据库的基本操作(1)
来源:互联网 发布:q叔淘宝店叫什么名字 编辑:程序博客网 时间:2024/05/22 08:16
MySQL安装好之后,首先需要创建数据库,这是使用MySQL各种功能的前提。
接下来就来联系数据的基本操作。
- 创建数据库
安装好数据库之后会在其data目录下自动创建几个必需的数据库,使用 show databases; 来查看当前数据库
创建数据库就是在系统磁盘上划分一块区域用于数据的存储和管理。
语句: create database 数据库名称 ;
这样子就创建成功了一个名为 name 的数据库。创建好数据库之后我们可以通过 :
show create database 数据库名称 ;
这个语句声明查看创建好的数据库的定义,如下图所示:
删除数据库
删除数据库是将已经存在的数据库从磁盘空间上清除,清除之后,数据库中的所有数据也将一同被删除。删除语句的语法为:
drop database 数据库名称 ;
我们再次使用 show create database name ; 声明查看数据库的定义。
出现错误则表示数据库 name 已经删除成功。注:当指定数据库不存在时则删除出错。
tip:使用 drop database 命令时要慎重,因为此条语句将整个数据库包括其所存储的所有数据表和数据删除,而且不能恢复。
3. 数据库存储引擎
数据库管理系统使用数据引擎进行创建、查询、更新和删除数据的操作。可以使用 show engines ; 来查看系统所支持的引擎类型。如图:
其中support列的值表示某种引擎是否能使用:YES表示可以使用,NO表示不能使用,DEFAULT表示该引擎为当前默认存储引擎
同时,show variables like ‘storage_engine’; 可以用来查看默认存储引擎,如图:
4.数据表的基本操作
数据库创建好之后,我们就要给这个数据库里面创建数据表了。在数据库中,数据表是数据库中最终要、最基本的操作对象,是数据存储的基本单位。数据表被定义为列的集合。
4.1创建数据表
create table 表名(字段名1 数据类型 列级约束条件 默认值,字段名2 数据类型 列级约束条件 默认值,......);
注:创建表的名称时,不区分大小写,但是不能使用sql语言中的关键字。
我们使用show tables;查看创建成功的表:
4.1.1使用主键约束
主键能够唯一标识表中的一条记录,主键可以为一列同时也可以为多列的组合。
a.单字段主键
i>在创建表的时候定义列的同时定义主键:
create table student(
stuid int primary key,
……
);
ii>定义完所有列之后定义主键:
create table student(
stuid int,
……
primary key(stuid)
);
b.多字段联合主键
语法:primary key (字段名1,字段名2,……字段名n)
create table student(
stuid int,
stuname varchar(20),
……
primary key(stuid,name)
);
以上全为在创建表,定义列的同时使用主键约束,那么如果在创建表的时候忘记使用主键约束了怎么办呢?
alter table student add constraint primary key stuid;
当然我们刚才创建表的时候把主键加上了,那么这下就先把它删掉再使用这种方法加主键,删掉主键的语法为:
alter table student drop primary key;
删除成功后再用上面的方法把主键加上:
4.1.2使用外键约束
外键是用来在两个表之间建立链接,用来保证数据引用的完整性,外键对应的是参照完整性。一个表的外键可以为空值,如果不为空则必须等于另一张表中主键的某个值。
外键是表中的一个字段,它可以不是本表的主键,但对应另外一个表的主键。外键的主要作用是保证数据的完整性,定义外键后,不允许删除在另一个表中的主键。
对于两个有关系的表而言,主表和从表:
(1)主表:相关联字段中主键所在的那个表。
(2)外键:向关联字段中外键所在的那个表。
创建外键:
1.在创建表的同时添加外键约束。
create table class(
classid int primary key,
……
foreign key (classid) references student(stuid) 或者
constraint fk_classid foreign key (classid)reference student(stuid);
);
执行成功之后就可以在表class中添加一个名为fk_classid的外键约束了。这个外键的名字是classid,它依赖于student表中的主键stuid。
2.当创建表的时候忘记添加外键约束则:
alter table 表名 add constraint 约束名 foreign key (本表字段名) references 主表名(主表字段名)
alter table class add constraint fk_classid foreign key (classid)references student(stuid);
3.删除外键约束
alter table 表名 drop foreign key 约束名—外键名称
alter table class drop foreign key fk_classid;
4.1.3使用非空约束
在创建表的时候给字段名后添加 not null
create table dept(
deptid int primary key,
deptname varchar(20) not null,
constraint deptid foreign key (deptid)references class(classid)
);
4.1.4使用唯一性约束
1.在定义完列之后直接指定唯一约束。
字段名 数据类型 unique
create table exp_u(
expid int primary key,
expname varchar(20) unique
);
2.在定义完所有列之后指定唯一约束
constraint 约束名 unique(字段名)
create table exp_u1(
expid int primary key,
expname varchar(20),
constraint expid unique(expid)
);
3.创建表时忘记添加唯一性约束:
alter table 表名 add constraint 约束名 unique (列名)
alter table exp add constraint expname unique(expname)
4.删除唯一性约束:
alter table 表名 drop index 约束名
alter table exp drop index exp
4.1.5使用默认约束
1.创建表时在字段后指定默认值
create table exp_d(
expid int primary key,
expname varchar(20) unique,
expsex varchar(4) default’m’
);
2.创建表时没有添加默认约束:
alter table 表名 alter column 列名 set default ’默认值’
alter table exp_d alter column expsex set default ‘m’;
4.1.6设置表的属性自动增加
1.字段名 数据类型 auto_increment
create table exp_a(
expid int primary key auto_increment,
name varchar(20)
);
2.删除自动增加
alter table 表名 change column 原列名 新列名 数据类型
alter table exp_a change column expid expid int;
注意:在设置表的属性值自动增加的时候:
添加主键自增长时要先添加主键才能设置主键自增长。
如果要删除主键则要先删除主键自增长之后才能删除主键
- 数据库的基本操作(1)
- 数据库基本操作(1)
- 数据库的基本操作
- 数据库的基本操作
- 基本的数据库操作
- 数据库的基本操作
- 数据库的基本操作
- 数据库的基本操作
- 数据库的基本操作
- 数据库的基本操作
- 数据库的基本操作
- 数据库的基本操作
- 数据库的基本操作
- 数据库的基本操作
- 数据库的基本操作
- 数据库的基本操作
- 数据库的基本操作
- 数据库的基本操作
- okhttp+gson转化成javabean(天气接口)
- windows安装配置zookeeper后启动出现的错误:java.io.IOException: Unable to create data directory:xxxxxxx
- WSN_OS学习之任务状态转换框架(一)
- AUTOCOMMIT自动提交该参数要大写才能生效,否则即使小写autocommit改为off,但小写的autocommit并不生效
- Python模块(学习使用模块和安装第三方模块)
- 数据库的基本操作(1)
- xss练习-prompt(1) to win
- 集合遍历之Iterator与foreach
- Hibernate--组件
- python爬虫实践----爬取京东图片
- 查分约束系统板子
- 自动人脸识别基本原理 --基于静态图像的识别算法(一)特征脸补充知识 PCA
- ext6.2 store如何更新数据刷新
- CNTK API文档翻译(21)——深度卷积GAN处理MSIST数据基础