Mysql学习之创建和操作数据库及表DDL大全小白篇
作者:祈祷ovo 发布时间:2024-01-25 01:16:15
1.操作数据库
1.1创建数据库
create + database + 数据库名称
当然如果我们不知道数据库是否存在,如果存在就不创建,不存在就创建可以用以下语句
create + database + if not exists + 数据库名称
我们还可以在创建数据库的时候指定字符集
create + dabase + if not exists + 数据库名 +character set + 字符集名
1.2查询数据库
查询所有已经存在的数据库
show databases
查询某个数据库的创建语句和所使用的字符集
show create database + 数据库名称
1.3修改数据库
修改数据库字符集
alter database + 数据库名称 + character set + 字符集名称
1.4删除数据库
drop database +数据库名
同样的,也可以加上 if not exists
drop database + if exists + 数据库名称
1.5使用数据库
使用数据库
use + 数据库名称
查询当前正在使用数据库的名称
select database()
2.操作表
2.1MySQL数据类型
数据类型 | 介绍 |
---|---|
tinyint | 存储1字节8位的整数 |
int/integer | 存储4字节32位的整数 |
float | 存储单精度浮点数 |
double | 存储双精度浮点数 |
char(n) | 存储字符 |
varchar(n) | 存储字符 |
date | 存储日期,只包含年月日格式:yyyy-MM–dd |
datetime | 存储日期,包含年月日时分秒,格式:yyyy-MM-dd HH:mm:ss |
timestamp | 存储日期,包含年月日时分秒,格式:yyyy-MM-dd HH:mm:ss |
问题1:varchar和char的特点和区别
char的特点:
1.char表示定长字符串,长度是固定的(比如char(5)即使不够5个字符也是按5个字符存储)
个字符也会按照5个字符存储);
2.如果插入数据的长度小于char的固定长度时,则用空格填充;
3.因为长度固定,所以存取速度要比varchar快很多,甚至能快50%,但正因为其长度固定,所以会占据多余的空间,是空间换时间的做法;
4.对于char来说,最多能存放的字符个数为255,和编码无关
varchar的特点:
1.varchar表示可变长字符串,长度是可变的(比如varchar(5)不够5个字符,比如3个那么就按照三个字符存储);
2.插入的数据是多长,就按照多长来存储;
3.varchar在存取方面与char相反,它存取慢,因为长度不固定,但正因如此,不占据多余的空间,是时间换空间的做法;
4.对于varchar来说,最多能存放的字符个数为65532
两者的区别:
结合性能角度(char更快)和节省磁盘空间角度(varchar更小)
还有一个点两者都存储字符
张三:代表两个字符
zhangsan:代表八个字符
问题2:int(20)中20的涵义
是指显示字符的长度。20表示最大显示宽度为20,但仍占4字节存储,存储范围不变;
不影响内部存储,只是影响带 zerofill 定义的 int 时,前面补多少个 0,易于报表展示
问题3:float和double的区别是什么?
1.float类型数据可以存储至多8位十进制数,并在内存中占4字节。
2.double类型数据可以存储至多18位十进制数,并在内存中占8字节。
问题4:datetime和timestamp的区别?
对于类型为timestamp的字段来说,不给这个字段赋值或者给这个字段赋空值那么都会默认使用当前系统时间
2.2创建表
create table +表名(
列 数据类型,
列 数据类型,
.........
列 数据类型
)
有时候我们想复制一个表的结构:
create table + 复制的新表名 + like + 被复制的表
有时候我们想复制表的所有内容:
create table + 复制的新表名 + select * from 要复制的表名
注意没有like
有时候我们只复制部分内容:
create table + 复制的新表名 + select语句
有时候我们只复制部分表的字段结构
create table + 复制的新表名 + select 需要复制的字段 +from 要复制的表 + where + 一个恒不成立的条件(如0=1)
2.3查询表
查询数据库中所有的表的名称
show tables
查询表结构
desc + 表名
2.4删除表
drop table + if exists + 表名
2.5修改表
修改表名
alter table + 表名 + rename to + 新表名
修改表的字符集
alter table + 表名 + character set + 字符集名称
添加一列
alter table + 表名 + add + (column) + 列 数据类型
修改列名称
alter table + 表名 + change + (column) + 列名 新列名 数据类型
修改列类型
alter table 表名 modify + (column) + 列名 新的数据类型
删除列
alter table + 表名 + drop 列名
来源:https://blog.csdn.net/qq_45737068/article/details/106134650


猜你喜欢
- 概述今天我们要来做一个进阶的花分类问题. 不同于之前做过的鸢尾花, 这次我们会分析 102 中不同的花. 是不是很上头呀.预处理导包常规操作
- 一、文件操作pandas内置了10多种数据源读取函数,常见的就是CSV和EXCEL使用read_csv方法读取,结果为dataframe格式
- 使用 os.open 打开文件无论是读文件还是写文件,都要先打开文件。说到打开文件,估计首先想到的就是内置函数 open(即 io.open
- 本文实例为大家分享了Python获取指定网页源码的具体代码,供大家参考,具体内容如下1、任务简介前段时间一直在学习Python基础知识,故未
- 前言:vue调用本地摄像头实现拍照功能,由于调用摄像头有使用权限,只能在本地运行,线上需用https域名才可以使用。实现效果:1、摄像头效果
- Win7安装mysql的具体过程,我的版本是5.5.21 以下是我的安装步骤:1、首先单击MySQL5.5.21的安装文件,出现该数据库的安
- 其中一种原因:pycharm没有设置系统解析器解决方法打开pycharm->File->Settings->Project
- 百度有啊2009年情人节logo——大纸袋GG给大纸袋MM送了枝玫瑰花,大纸袋MM奖励了大纸袋GG一个吻,好可爱!淘宝网2009年情人节lo
- 使用jmail组件发送邮件:Function JMail(Send_From,Send_To,Send_Subject,Send_
- OpenCV:图片缩放和图像金字塔对图像进行缩放的最简单方法当然是调用resize函数啦!resize函数可以将源图像精确地转化为指定尺寸的
- 示例1:pycallclass.cpp:#include <iostream>using namespace std;typed
- 本文实例讲述了python中getaddrinfo()基本用法。分享给大家供大家参考。具体如下:import sys, socketresu
- Python在程序并行化方面多少有些声名狼藉。撇开技术上的问题,例如线程的实现和GIL,我觉得错误的教学指导才是主要问题。常见的经典Pyth
- 前言哈喽!哈喽。栗子上线啦~要说什么游戏能够获得大家的喜爱?唯射击游戏莫属。此前大火手游的《刺激战场》当然现在是叫做《和平精英》啦,想当初我
- 本文实例讲述了python修改操作系统时间的方法。分享给大家供大家参考。具体实现方法如下:#-*- coding:utf-8 -*-impo
- 本文实例讲述了Python实现的NN神经网络算法。分享给大家供大家参考,具体如下:参考自Github开源代码:https://github.
- 字符串字面量python 中的字符串字面量由单引号或双引号括起。‘hello’ 等同于 &l
- 如果我们数据库的ID设置为varchar型的 在查询的时候order by id的话我们是不希望看到如下情况的。我们可以把varchar转换
- 这是写给web设计者和前端开发者的教程,我们将演示如何使用Photoshop创建按钮的sprite图,然后是如何使用jQurey打造动态渐变
- 1.Python的基本数据类型数据类型想必大家都知道是什么含义,指的是输入数据的类型,任何数据都有明确的数据类型,例如我们输入100,这个数