MySQL基础篇之一:DDL数据库表操作

本文介绍了MySQL中数据库和数据表的基本操作,包括创建、查看、删除和修改数据库,以及创建、查询、修改和删除数据表。还详细讲解了各种约束如主键、非空、默认值和唯一性约束,以及用户权限的授权和回收。此外,提到了数据类型的分类,如数值、字符串和日期类型。
摘要由CSDN通过智能技术生成

MySQL数据库、数据表的基本操作

一、数据库的基本操作
1.1创建数据库
create database [数据库名称] default charset [字符集];
1.2查看数据库
show database [数据库名称];
1.3删除数据库
drop database [数据库名称];
1.4修改数据库字符集的默认编码格式
alter database [数据库名称] character set [编码格式](UTF-8 GBK);
1.5切换数据库
use [数据库名称];
1.6查看当前使用的是哪个数据库
select database();
二、数据表的基本操作

首先需要说明的是,在进行数据表的操作之前,首先要使用use database+数据库名称的方式选择自己要在哪个数据库中进行操作,否则会报“No database selected”错误

2.1创建数据库表
create table [表名]{
	字段1 字段类型,
	字段2 字段类型,
	...
	字段n 字段类型
};

例如:

create table student{
	id int,
	name varchar(20),
	gender varchar(10),
	birthday date
};
2.2查询当前数据库中的所有表
show tables;
2.3查看表的字段信息
desc [表名];
2.4修改表名
alter table [原始表名] rename to [新表名];
2.5修改字段名
alter table [表名] change [原字段名] [新字段名] varchar(10);

例:

alter table student change name sname varchar(10);
2.6修改字段的数据类型
alter table [表名] modify [字段名] [新的字段类型];

例:

alter table student modify sname int;
2.7增加字段
alter table [表名] add [字段名] [字段类型]
2.8删除字段
alter table [表名] drop [字段名];
2.9删除数据表
drop table [表名];
2.10查询指定表的建表语句
show create table [表名];
三、约束说明

为了防止错误的数据被插入到数据表中,MySQL中定义了一些维护数据库完整的规则,这些规则被称为约束,常见约束如下
在这里插入图片描述

3.1主键约束

主键约束,即primary key。被标识为主键的数据在表中是唯一的,且其值不能为空。(类似于我们每个人的身份证号,都是唯一的,不能重复)

基本语法:

字段名 字段类型 primary key;
3.2非空约束

非空约束,即Not Null,指的是字段的值不能为空

基本语法:

字段名 字段类型 NOT NULL;
3.3默认值约束

默认值约束即DEFAULT用于给数据表中的字段指定默认值,也即是说当在表中插入一段新记录时若未给该字段赋值,那么数据库系统会自动为这个字段插入默认值

基本语法:

字段名 字段类型 DEFAULT#(可以省略不写);
3.4唯一性约束

所谓唯一性约束,也就是说该数据表中,被定义为唯一性约束的字段的值不能出现重复

基本语法:

字段名 字段类型 UNIQUE;
3.5外键约束
四、用户权限授权
4.1授权

基本语法:

grant 权限 on 数据库对象 to 用户;

例一:把查询Student表权限授给用户U1

grant select on table Student to U1;

例二:把对Student表和Course表的全部权限授予用户U2和U3

grant all privileges on table Student,Course to U2,U3;

例三:把对表SC的查询权限授予所有用户

grant select on table SC to public;

例四:把查询Student表和修改学生学号的权限授权给用户U4

grant update(Sno),select on table Student to U4;

例五:把对表SC的insert权限授予U5用户,并允许他再将此权限授予其他用户

grant insert on table SC to U5 with grant option;

例六:DBA把在数据库SC中建立表的权限授予用户U8

grant createtab on database SC to U8;
4.2收回权限

授予的权限可以由DBA或其他授权者用REVOKE语句收回。

语法:revoke+权限+on+table+表名+from 用户

例一:把用户U4修改学生学号的权限收回

revoke update on table Student from U4;

例二:收回所有用户对表SC的查询权限

revoke select on table SC from public;

例三:把用户U5对SC表的insert权限收回

revoke insert on table SC from U5;
五、Mysql中的数据类型
5.1数值类型
分类类型大小有符号(SIGNED)范围无符号(UNSIGNED)范围描述
TINYINT1 byte-128,1270.255小整数值
SMALLINT2 bytes-32768,327670,65535大整数值
MEDIUMINT3 bytes-8388608,83886070,16777215大整数值
数值类型INT或INTEGER4 bytes-2147483648,21474836470,4294967295大整数值
BIGINT8 bytes-263,263-10,2^64-1极大整数值
FLOAT4 bytes单精度浮点数值
DOUBLE8 bytes双精度浮点数值
DECIMAL依赖于M和D的值依赖于M和D的值小数值(精确定点数)
5.2字符串类型

在这里插入图片描述

  • char和varchar的区别

区别一:

定长和变长。char表示定长,长度固定,varchar表示变长,即长度可变。char如果插入的长度小于定义长度时,用空格填充;varchar小于定义长度时,还是按实际长度存储,插入多长就存多长。

因为其char的长度固定,所以char的存取速度要比varchar快得多,方便程序的存储与查找;但是char也为此付出空间代价,因为其长度固定,所以会占据多余的空间,即以空间换取时间效率。varchar则刚好相反。

区别二:

存储的容量不同。对char来说,最多能存放的字符个数255,和编码无关。

对varchar来说,最多能存放65532个字符;varchar的最大有效长度由最大行大小和使用的字符集确定。

5.3日期类型

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值