iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >MySQL的数据类型和表结构
  • 480
分享到

MySQL的数据类型和表结构

2024-04-02 19:04:59 480人浏览 独家记忆
摘要

Mysql的数据类型和表结构 DB,DataBase-数据库:依照某种数据模型进行组织并存放到存储器的数据集合。 DNMS,DataBase Management System-数据库管理系统:用来操纵和管

Mysql的数据类型和表结构

DB,DataBase
-数据库:依照某种数据模型进行组织并存放到存储器的数据集合

DNMS,DataBase Management System
-数据库管理系统:用来操纵和管理数据库的大型服务软件。

DBS,DataBase System
-数据库系统:即DB+DBMS,指带有数据库并整合了数据库管理软件的计算机系统。

oracle(甲骨文):Oracle Database 、 mysql
Microsoft(微软):SQL Server 、Access
IBM: DB2
Sybase: Sybase

Mysql主要特点:
-关系型数据库
-支持linux/Unix、windows等多种操作系统
-使用C和c++编写,可移植性强
-通过api支持python/Java/Perl/PHP等语言

应用环境:
-LAMP平台,与Apache Http Server组合
-LNMP平台,与Nginx组合

关系型数据库服务软件(RDBMS):按照规定的结果存储数据,并且数据(values)之间可以做关联操作。
例:Oracle MySQL DB2 SQL Server

非关系型数据库软件(NoSQL):以键值对的形式,一一对应,数据(values)之间没有关联。
例:Redis mongdb

一、安装MySQL
yum -y install perl-Data-Dumper Perl-JSON perl-Time-HiRes #依赖包
tar -xf mysql-5.7.17-1.el7.x86_64.rpm-bundle.tar
rpm -Uvh mysql-conmmUnity-*.rpm #U升级安装,可替换冲突文文件。

二、启动服务
/usr/lib/systemd/system/mysqld.service

systemctl start mysql
systemctl enable mysql

三、登录
默认的数据库管理员账号root,允许从localhost访问。
首次登录密码在安装时随机生成,存储在错误日志文件里。
grep 'temporary passWord' /var/log/mysql.log
.....@localhost: matoa>AV<PSDK #随机密码

mysql -uroot -p"matoa>AV<PSDK"
mysql>

四、修改密码
0 or LOW 长度
1 or MEDIUM(默认) 长度,数字,小写/大写,和特殊字符
2 or STRONG 长度,数字,小写/大写和特殊字符,字典文件
通过客户端工具mysql连接本地服务器,使用alter user重设置口令。

mysql>set global validate_password_policy=0; #只验证密码长度
mysql>set global validate_password_length=6; #修改密码长度为6个字符,默认是8个字符。
mysql>alter user user() identified by "123456"; #修改登录密码
mysql>quit #退出

mysql -uroot -p123456 #使用新密码登录

要想实现永久生效需修改配置文件:
vim /etc/my.cnf
.....
validate_password_policy=0
validate_password_length=6

服务相关文件
/etc/my.cnf 配置文件
/var/lib/mysql 数据库目录
默认端口 3306
进程名 mysqld
传输协议 tcp
进程所有者 mysql
进程所属组 mysql

使用mysql命令:
mysql -h服务器ip -u用户名 -p密码 [数据库库名]

指令类型:
MySQL指令:环境切换,看状态,退出等控制
SQL指令:数据库定义/查询/操纵/授权语句
DDL 数据定义语言(create alter drop)
DML 数据操作语言(insert updata delect)
DCL 数据控制语言(grant revoke)
DTL 数据事物语言(commit rollback savepoint)

基本注意事项:
1.指令不区分大小写(密码、变量值除外)
2.每条SQL指令以";"结束或分隔。
3.c\可废弃当前编写错的指令。

命令:
show databases; 查看所有的库
use 库名; 进入到指定库
show tables; 列出当前库内的所有表
describe 表名; 查看表的字段结构
create datebases 库名; 创建指定库
select database(); 查看当前所在的库
drop databas 库名; 删除指定的库

create table 库名.表名( #创建指定的表
字段名1 字段类型(宽度) 约束条件;
字段名2 字段类型(宽度) 约束条件;
...........
);

例建表:
mysql>create   table   gamedb.stu(
mysql>name    char(10),
mysql>age      int
mysql>);

drop table 库名.表名; 删除指定库下的表

insert into 库名.表名 values(值列表); #插入表记录

例:
insert into  gamedb.stu  values("jim",21),("tom",29);

select * from 库名.表名; 查看表的所有记录
delete from 库名.表名; 删除表的所有记录

常见类型的信息
数值型:体重、身高、成绩、工资、价格等
字符型:姓名、工作单位、地址等
枚举型:兴趣爱好、性别等
日期时间型:出生日期、注册时间等

1.数值型
类型 大小 范围(有符号) 范围(无符号) 用途
TINYINT 1字节 -128~127 0~255 微小整数
SMALLINT 2字节 -32768~32767 0~65535 小整数
MEDUIMINT 3字节 -(2^23)~(2^23)-1 0~(2^24)-1 中整数
INT 4字节 -(2^31)~(2^31)-1 0~(2^32)-1 大整数
BIGINT 8字节 -(2^63)~(2^63)-1 0~(2^64)-1 极大整数
FLOAT 4字节 单精度浮点数
DOUBLE 8字节 双精度浮点数
DECIMAL 对DECIMAL(M,D),其中M为有效位数、D为小数位数,M应大于D,占用M+2字符

1.1整数型
使用UNSIGED修饰时,对应的字段只保存正数(无符号)。
数值不够指定宽度时,默认是在左边填空格补位。
宽度仅是显示宽度,存数据值的大小有类型决定。
使用关键字ZEROFILL时,填0代替空格补位。
数值超出范围时,报错。

1.2浮点型
定义格式:float(总宽度,小数位数)
当字段值与类型不匹配时,字段值作为0处理。
数值超出范围时,仅保存最大/最小值。
浮点型:根据存储数值的范围分为 单精度 双精度
单精度float(n,m)
双精度double(n,m)
n表示总位数
m表示小数位的位数

2.字符类型
2.1定长:char(字符数)
最大长度255字符。
不够指定字符数时默认在右边用空格补齐。
字符数超出时,无法写入数据。

2.2变长:varchar(字符数)
按数据实际大小分配存储空间。
字符数超出时,无法写入数据。
缺点:每次都要计算,消耗资源。

2.3大文本类型:text/blob
字符数大于655535存储时使用。

例:
mysql>create  database ku;
mysql>create  table  ku.biao(
>name   char(7) ,
>age    tinyint(3)  unsigend,
>high   float(3,2) 
>);

mysql>desc  ku.biao;
Fied   Type          Null     key       Default  Extra
字段名 字段类型     是否为空 索引类型    默认值   描述信息  

3.日期时间类型
3.1日期时间,DATETIME
占用8个字节。
范围:1000-01-01 00:00:00.000000 ~ 9999-12-31 23:59:59.999999
例:2017-12-31 23:59:59

3.2日期时间,TIMESTAMP
占用4个字节。
范围:1970-01-01 00:00:00.000000 ~ 2038-01-19 03:14:07.999999
例:2017-12-31 23:59:59

3.3日期,DATE
占用4个字节。
范围:0001-01-01 ~ 9999-12-31

3.4年份,YEAR
占用1个字节。
范围:1901~2155

3.5时间,TIME
占用3个字节。
格式:HH:MM:SS

关于日期时间字段,当未给TIMESTAMP字段赋值时,自动以当前系统时间赋值,而DATETIME字段默认值为NULL。
YEAR年份的处理,默认用4位数字表示,当只用2位数字赋值时,01~69视为2000~2069,而70~99视为1970~1999。

例:
mysql>create table  ku.biao2(
>name  varchar(8),
>starty  year,
>birthy  date, 
>abc     time
>);

时间函数:
now() 获取调用此函数时的系统日期
sysdate() 执行时间动态获得系统时间
sleep(N) 休眠N秒
curdate() 获取当前的系统时间
curtime() 获取当前的系统时刻
month() 获取指定时间中的月份
date() 获取指定时间中的日期
time() 获取指定时间中的时刻

例:
mysql>select now();
mysql>select date(now());
mysql>select time(now());

4.枚举类型
4.1从给定值集合中选择单个值,ENUM。
格式:enum(值1,值2,值N)

4.2从给定值集合中选择一个或多个值,SET。
格式:set(值1,值2,值N)

例:
mysql>create table ku.biao3(
>name  char(5),
>gen   enum("boy","girl"),
>likes  set("book","music","pingpang","sleep")
>);

约束条件
Null 允许为空,默认设置
NOT NULL 不允许为空
key 索引类型
Default 设置默认值,缺省为NULL

例:
mysql>create table  ku.tbiao5(
>name  varchar(4) not null,
>gen   enum("boy","girl") default "boy",
>age   int(3)  not null  default 22,
>);

mysql>desc ku.biao5;

修改表的字段
基本用法:
ALTER TABLE 表名 执行动作;

执行动作:
1.添加新字段
ADD 字段名 类型(宽度) 约束条件;

ADD 字段名 类型(宽度) 约束条件 FIRST; //添加字段到最前面

ADD 字段名 类型(宽度) 约束条件 AFTER 字段名2; //添加字段到字段2后面

2.修改字段类型
MODIFY 字段名 类型(宽度) 约束条件;

3.修改字段名
CHANGE 源字段名 新字段名 类型(宽度) 约束条件;

4.删除指定字段
DROP 字段名;

例:
mysql>alter table ku.biao5 add 
>kuki   varchar(5) not null ; 
您可能感兴趣的文档:

--结束END--

本文标题: MySQL的数据类型和表结构

本文链接: https://www.lsjlt.com/news/37593.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • PHP 数据类型和结构解析
    php 数据类型包括标量类型(整数、浮点数、字符串、布尔值)和复合数据类型(数组、对象)。 数据可以利用 settype()、intval()、floatval()、strval() 等...
    99+
    2024-05-03
    php 数据结构 键值对
  • 数据结构的链表有那几种类型
    这篇文章主要介绍“数据结构的链表有那几种类型”,在日常操作中,相信很多人在数据结构的链表有那几种类型问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”数据结构的链表有那几种类型”...
    99+
    2024-04-02
  • python数据结构:数据类型
    目录1.数据是什么?2.数据类型2.1内建原子数据类型2.2 内建集合数据类型3.集合数据类型的方法3.1 列表3.2 字符串3.3 元祖3.4 集合3.5 字典1.数据是什么? 在...
    99+
    2024-04-02
  • Mysql 数据库结构及索引类型
    目录前言数据库索引的数据结构聚集索引辅助索引索引管理联合索引覆盖索引总结前言 数据库索引是mysql数据库中重要的组成部分,是数据库查询数据速度提升的关键,本文将介绍数据库索引的一些...
    99+
    2024-04-02
  • InnoDB类型MySql恢复表结构与数据的示例分析
    小编给大家分享一下InnoDB类型MySql恢复表结构与数据的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!前提:保存了需要恢复数据库的文件 .frm 和 .ibd 文件条件:In...
    99+
    2024-04-02
  • MySQL:数据类型和表的约束
    1. 数据类型 学习语言的时候首先就是学习数据类型,数据类型起着为变量合理分配空间的作用。数据库同样需要合理使用空间,其次还可以约束SQL语句的正确性,所以同样需要数据类型。 1.0. 数据类型分类 分类数据类型解释数值类型BIT (...
    99+
    2023-08-16
    mysql 数据库
  • mysql数据表结构的复制
    这篇文章主要介绍“mysql数据表结构的复制”,在日常操作中,相信很多人在mysql数据表结构的复制问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”mysql数据表结构的复制”...
    99+
    2024-04-02
  • mysql如何导出表结构和数据
    MySQL可以通过以下几种方法导出表结构和数据: 使用mysqldump命令: 可以使用mysqldump命令来导出表结构和数据。...
    99+
    2024-04-12
    mysql
  • MySQL怎么迁移表结构和数据
    MySQL迁移表结构和数据可以通过以下几种方法实现: 使用mysqldump命令:可以使用mysqldump命令将数据库中的表结构...
    99+
    2024-04-09
    MySQL
  • Mysql中怎么复制表结构和表数据
    今天就跟大家聊聊有关Mysql中怎么复制表结构和表数据,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1、复制表结构及数据到新表CREATE TABL...
    99+
    2024-04-02
  • redis数据库使用的数据结构类型
    redis 中共有 9 种数据结构类型:键值对:储存单个键值对字符串:存储文本、数字或二进制数据列表:存储有序键值对集合:存储不重复的值有序集合:存储带有分值的元素,按分值排序哈希表:存...
    99+
    2024-04-19
    redis 地理位置 键值对
  • redis数据类型及结构特性
    redis支持多种数据类型,每种类型具有独特结构:字符串:字节数组,可追加、修改和获取范围数据。列表:有序字节数组序列,可添加/弹出元素,获取/修改索引元素。哈希:键值对集合,可设置/获...
    99+
    2024-04-19
    redis 键值对
  • MySQL-树型结构数据查询
    建表 SET NAMES utf8mb4;SET FOREIGN_KEY_CHECKS = 0;-- ------------------------------ Table structure f...
    99+
    2023-09-03
    mysql 数据库 sql
  • 学校管理系统的MySQL表结构设计:数据类型选择指南
    学校管理系统的MySQL表结构设计:数据类型选择指南引言:在设计学校管理系统的数据库时,合理选择 MySQL 表的数据类型是非常重要的。正确选择数据类型可以保证数据库的性能优化和数据完整性。本文将提供一个指南,帮助你在设计学校管理系统的 M...
    99+
    2023-10-31
    MySQL表结构设计 学校管理系统 数据类型选择指南
  • 【MySQL】MySQL 数据类型,数值、日期和时间、字符串类型,创建数据表,删除数据表
    作者简介: 辭七七,目前大一,正在学习C/C++,Java,Python等 作者主页: 七七的个人主页 文章收录专栏: 七七的闲谈 欢迎大家点赞 👍 收藏 ⭐ 加关注哦!💖💖 ...
    99+
    2023-08-16
    mysql adb android 后端 数据库
  • Postgresql中的表结构和数据同步/数据传输到Mysql
    场景 Postgresql中的某个表,需要连同表结构以及表数据同步一次到Mysql数据库中。 一种方式是在Postgresql中将表sql导出,然后修改sql文件语法,再导入到mysql中。 但是这种方式过于复杂,可以借助于Navicat等...
    99+
    2023-09-01
    postgresql mysql 数据库
  • C#有哪些常见的数据类型和控制结构
    C#具有许多常见的数据类型和控制结构。以下是其中一些常用的示例:数据类型:整数类型:int、long、short、byte等浮点数类型:float、double、decimal等字符类型:char布尔类型:bool字符串类型:string数...
    99+
    2023-10-22
    C#使用
  • Python基础知识+结构+数据类型
    目录前言一、编程基础1.基本的输入输出2.变量3.基本运算符二、控制流程1.选择结构2.循环结构三、数据类型1.字符串前言 今天给大家分享一些Python的基础知识,想要盖好大房子,...
    99+
    2024-04-02
  • Redis数据结构中的String类型有哪些
    这篇文章主要介绍“Redis数据结构中的String类型有哪些”,在日常操作中,相信很多人在Redis数据结构中的String类型有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大...
    99+
    2024-04-02
  • mysql怎么查看数据表结构
    在MySQL中,可以使用DESCRIBE语句来查看数据表的结构。语法如下:DESCRIBE table_name;其中,table_...
    99+
    2023-10-12
    mysql
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作