mysql数据库
一.什么是数据库?
存储文件,相当于数据的仓库
可以在数据库中对文件进行增删改查
1.常见的数据库有哪些?
关系型数据库
SQL server 、Oracle 、mysql 、DB2
非关系型数据库
resdis
2.如何在电脑上搭建一个MySQL环境,并安装一个MySQL的服务器
安装包有两个
安装前注意:安装失败了,一定要把文件中两个安装包卸载干净,再来重装,否则装不上去
默认用户名[超级管理员]:root
安装一个mysql可视化工具:
sql yog
navicat
二.mysql基本指令
show databases:显示当前mysql上的所有数据库
show tables:查询当前库下面的所有的表
drop database 库名:删除一个库
drop database if exists 库名 :先判断这个库存不存在,存在就删除
设置数据库的字符编码:
create database 库名 default character set =’utf8’
三.mysql常见的几种数据类型:
int:整数(范围在-214748364821474483647)/无符号范围(04294967295)
decimal:小数(decimal(5,2)则表示范围在:-999.99~999.99)
foalt(4字节):小数(单精度浮点,精准6个数字)
double(8字节):小数(双精度浮点,精准17个数字)
varchar:字符串(可变长度字符串,一个汉字两个汉字)
char:字符串(固定长度字符串,一个字节两个汉字)
datatime:日期类型(YYYY-MM-DD HH:ii:ss )
bit:布尔类型:只能保存0|1,用来表示真和假
四.mysql建表:
use 库名 #先切换到具体的数据库
drop table if exists 库名 #判断存在则删除
create table 表名 #创建表
(
列名 int not null,
列名 varchar(10) null
);
注:
1.每条语句后面使用分号结束
2.列和列之间使用逗号隔开,最后一列无需逗号
3.默认有符号(zerofill),无符号(unsigned)
五.mysql约束
数据类型:省
非空约束:not null
默认值约束:default
检查约束:没有
唯一约束:unique
标识列(自动增长):auto_increment
主键约束:primary key
外键约束:foreign key
1.如何添加约束:建表时数据类型后面直接加约束
Drop table if exists students; –判断存在则删除
create table students
(
SID int not null primary key auto_increment, – 非空 主键 自动增长
Sname varchar(20) null, – 允许空
Ssex varchar(2) not null default ’男’, – 默认’男’
SCard varchar(18) not null unique, – 唯一
SCID int,
foreign key(SCID) references classes(CID) – 单独加外键
);
2.表结构的其他操作
(1)修改表名:
alter table 旧表名 rename 新表名;
表结构操作:
(2)增加一列:
alter table 表名 add 字段名 数据类型 [约束];
(3)删除一列:
alter table 表名 drop 字段名;
(4)修改字段名和数据类型:
alter table 表名 change 旧字段名 新字段名 新数据类型;
(5)只修改字段数据类型
alter table 表名 modify 字段名 新数据类型;
复制表
(6) 仅复制结构:
create table 新表名 like 源表;
(7)复制结构和数据:
create table 新表名 select * from 源表;
3.课后拓展:创建表之后,能否再添加或删除约束?
1.非空约束
添加:alter table 表名 modify 列名 数据类型 not null
删除:alter table 表名 modify 列名 数据类型 null
2.主键约束
添加:alter table 表名 add primary key (字段)
删除:alter table 表名 drop primary key
3.唯一约束
添加:alter table 表名 add unique 约束名(字段)
删除:alter table 表名 drop key 约束名
4.自动增长(需要是主键,才能自动增长)
添加:alter table 表名 modify 列名 int primary key auto_increment
删除:alter table 表名 modify 列名 int
5.外键约束
添加:alter table 表名 add constraint 约束名 foreign key(外键列)
references 主键表(主键列)
删除:alter table 表名 drop foreign key 约束名
6.默认值
添加:alter table 表名 alter 列名 set default ‘值’
删除:alter table 表名 alter 列名 drop default