【数据库-mysql】数据库和数据表的基本操作

3 数据库和数据表的基本操作

3.1 数据库的基本操作

3.1.1 创建数据库

创建数据库就是在数据库系统中划分存储数据的区域,以创建general数据库为例:
MYSQL> CREATE DATABASE GENERAL;

3.1.2 查看数据库

MYSQL> SHOW DATABASES;/*查看所有数据库*/
MYSQL> SHOW CREATE DATABASE GENERAL; /*查看特定数据库*/

3.1.3 修改数据库

修改数据库的编码方式:

mysql> alter database general default character set gbk collate gbk_bin;

3.1.4 删除数据库

drop database general;

3.2 数据类型

建表的过程就是声明列的过程:

3.2.1数值型

在这里插入图片描述

int系列 声明时的参数:(M) unsigned zerofill
1、数据默认有符号,可以修改为无符号:
2、关于增加新列:alter table tablename add score tinyint unsigned not null default 0。
3、mysql5.6 设置为无符号时,若输入负数,变为0,但不报错。
4、M与zerofill配合使用才有意义,代表补0后的总宽度,zerofill 默认无符号
5、alter table test add num smallint(5) zerofill not null default 0;

浮点型

float(M,D) decimal(M,D) # 确认下是否有这种类型
M表示“精度”:总的位数,,D表示“标度”表示小数位。
float(6,2) -9999.99 9999.99
默认有符号,可以定义为无符号:
alter table salary add bonus float(5,2) unsigned not null default 0.00;
float 能存10^38 ,小数点后能10^-38
若M<=24 4个字节,否则8个字节。

定点型
比float精确 分开存两部分。账户类将以用decimal,实际是整形存分

3.2.2 字符型

在这里插入图片描述

3.2.3 时间类型

类型	范围	格式	字节数Data	1000-01-到9999-12-31	YYYY-MM-DD	4字节Time	-838:59:59-838:59:59	HH:MM:SS	3字节Datatime	1000年-9999年	YYYY-MM-DD HH:MM:SS	8字节Year	1900-2155	YYYY	1字节TIMESTAPE	1970-2038	YYYY-MM-DD HH:MM:SS	4字节

时间类型在的输入需要加引号
比char高效、节省空间
以date为例,input 20180424或者"2018-04-24"插入的日期都是2018-04-24
timestamp:显示形式与datetime相同,但是取值范围更加窄,输入为空或者NULL都是以当前时间填充。

3.3 数据表的基本操作

3.3.1 创建数据表

CREATE TABLE 数据表名称
(
字段名1 数据类型 [完整性约束条件],
字段名1 数据类型 [完整性约束条件],
......,
字段名1 数据类型 [完整性约束条件]  # 没有逗号
);  # 加分号
最后一行不加逗号,结尾加分号

create table calss(
ID int primary key auto_increment,
name varchar(10) not null default ‘’,
gender char(1) not null default ‘’,
company varchar(20) not null default ‘’,
salary decimal(6,2) not null default 0.00,
foodappend smallint not null default 0.00
)engine myisam charset utf8;

create table stuinfo(
id int primary key auto_increment,
name varchar(10) not null default ‘’,
gender char(1) not null default ‘’,
age int not null default 0
)engine myisam charset utf8;

3.3.2 查看数据表

方法1SHOW CREATE TABLE 数据表名称;  或者SHOW CREATE TABLE 表名称\G # 无;
方法2DESCRIBE 表名称;              或者使用简写DESC 表名称;

3.3.3 修改数据表

1修改表名:
	ALTER TABLE 旧表名 RENAME [TO] 新表名;
2修改字段名和数据类型:
	ALTER TABLE 表名 CHANGE 旧字段名 新字段名 新数据类型;
3修改字段数据类型:
	ALTER TABLE 表名 MODIFY 字段名   新数据类型;
4添加字段:
	ALTER TABLE 表名 ADD 新字段名 数据类型[约束条件]
	                      [FIRST|AFTER 已经存在的表名];
5删除字段:
	ALTER TABLE 表名 DROP 字段名;
6修改字段位置
	ALTER TABLE 表名 MODIFY 字段名1 数据类型 [FIRST|AFTER 已经存在的表名];
可以在修改字段的位置的同时修改数据类型,如果只修改位置将类型写为与之前一致即可。

3.3.4 删除数据表

DROP  TABLE 表名;

3.4 数据表的约束

约束的目的是为了保持一致性与完整性。在mysql中主要有一下5种约束:
1、主键约束 2、外键约束 3、非空约束 4、唯一约束 5、默认约束

3.4.1 PRIMARY KEY CONSTRAINT主键约束

1 单字段主键

方式1:创建表的时候设定为主键: 字段名 数据类型 PRIMARY KEY;
方式2:为已经存在的表添加逐渐约束:
	  ALTER TABLE 表名 MODIFY 字段名   新数据类型 PRIMARY KEY;
删除主键约束:ALTER TABLE 表名 DROP PRIMARY KEY;

2复合主键


                
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值