MySQL---8、创建和管理表

1、基础知识

1.1 一条数据存储的过程
创建数据库-->确认字段-->创建数据表-->插入数据
1.2 标识符的命名规则
1、数据库名、表名不得超过30个字符,变量名限制为29个
2、必须只能包含A-Z、a-z、0-9,、_共63个字符
3、数据库名、表名、字段名等对象名中间不要包含空格
4、同一个MySQL软件中,数据库不能重名;同一个库中,表不能重名,;同一个表中,字段不能重名
5、不想保证你的字段没有和保留字、数据库系统或常用方法冲突。如果坚持使用,请在SQL语句中使用`(着重号)引起来
6、保持字段名和类型的一致性:在命名字段并为其指定数据类型的时候一定要保证一致性,假如数据类型在一个表里是整数,那在另一个表中可就变成字符型了。
1.3 MySQL中的数据类型
类类型类型名
整数类型TINYINT、SMALLINT、MEDIUMINT、INT或(INTEGER)、BIGINT
浮点类型FLOAT、DOUBLE
定点数类型DECIMAL
位类型BIT
日期时间类型YEAR、TIME、DATE、DATETIME、TIMESTAMP
文本字符类型CHAR、VARCAHR、TINYTEXT、TEXT、MEDIUMTEXT、LONGTEXT
枚举类型ENUM
集合类型SET
二进制字符串类型BINARY、VARBINARY、TINYBLOB、BOLB、MEIDUMBOLB、LONGBOLB
JSON类型JSON对象、JSON数组

其中常见的几类类型介绍如下:

数据类型描述
INT从-2^31 到2 ^31-1 。存储大小为四个字节
CHAR(size)定长字符数据。若为指定,默认为一个字符,最大长度为255
VARCHAR(size)可变长字符数据,根据字符串实际长度保存,必须指定长度
FLOAT(M,D)单精度,占用4个字节,M=整数位+小数位,D=小数位。D<=M<=255,0<=D<=30,默认M+D<=6
DOUBLE(M,D)双精度,占用8个字节,D<=M<=255,0<=D<=30,默认M+D<=15
DECIMAL(M,D)高精度小数,占用8个字节,D<=M<=65,0<=D<=30 ,最大取值·访问与DOUBLE相同
DATE日期型数据,格式’YYYY-MM-DD’
BLOB二进制形式的长文本数据,最大可达4G
TEXT长文本数据,最大可达4G

2、创建和管理数据库

2.1 创建数据库
方式1:简单创建数据库
create database 数据库名;
方式2:创建数据库并且指定数据库的字符集
create database 数据库名 character set 字符集;
方式3:在创建数据库之前判断创建的数据库名是否已经存在,如果存在就不创建,如果不存在就创建
create database if not exists 数据库名;
2.2 使用数据库
1、查看当前所有的数据库
show databases;
2、查看当前使用的数据库
show database();  
3、查看指定数据下所有的表
show tables from 数据库名;
4、查看数据库的创建信息
desc create 数据名;
5、切数据库
use 数据库名;
2.3 修改数据库
1、更改数据库字符集
alter database 数据库名 character set 字符集; 
2、删除指定的数据库
drop database 数据库名; 
drop database if not exists 数据库名;

3、创建表

3.1 创建方式1
必须具备:
	CREATE TABLE 权限
	存储空间
语法格式:
create table [if not exists] 表名(
	字段1,数据类型[约束条件][默认值],
	字段2,数据类型[约束条件][默认值],
	字段3,数据类型[约束条件][默认值]
	...
	[表约束条件]
);
必须指定:
	表名
	列名(字段名),数据类型,长度
可选指定:
	约束条件
	默认值
3.2 创建方式2
使用AS sbuquery选项,将创建表和插入数据结合起来
指定的列和子查询中的列要一一对应
通过列名和默认值定义列

语法格式:

create table 表名[(column,column1...)]
as subquery;
3.3 查看数据表结构

语法格式:

show create table 表名\G;

4、修改表

修改表指的是修改数据库中已经存在的数据表的结构
使用ALTER TABLE语句可以实现:
		1、向已有的表中添加列
		2、修改现有表中的列
		3、删除现有表中的列
		4、重命名现有表中的列
4.1 追加一个列

语法格式:

alter table 表名 ADD [column] 字段名 字段类型 [first|after 字段名]
4.2 修改一个列
可以修改列的数据类型、长度、默认值和位置(不能重命名!!)

语法格式:

alter table 表名 modify [column] 字段名1 字段类型 [Default 默认值][first|after 字段名]
4.3 重命名一个列

语法格式:

alter table 表名 change  [column] 字段名 新列名 新数据类型;
4.4 删除一个列

语法格式:

alter table 表名 drop [column] 字段名 ;

5、重命名表

方式1:使用rename
rename table 旧表名
to 新表名
方式2:
alter table 旧表名
rename [to] 旧表名;

必须是对象的拥有者

6、删除表

在MySQL中,当一张数据表没有与其他任何数据表形成关联关系时,可以将当前数据表直接删除。
数据和结构都被删除
所有正在运行的相关事务被提交
所有相关索引被删除

语法格式:

drop table [if exists] 数据表1[,数据表2,...]

7、清空表

TRUNCATE TABLE语句:
	删除表中所有的数据
	释放表的存储空间
TRUNCATE语句不能回滚,而使用Delete语句删除数据可以回滚

语法格式:

TRUNCATE table 表名
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

星光下的赶路人star

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值