三、MySQL数据库数据类型

MySQL数据库中支持多种数据类型:数值型、字符型、日期型

    常用的数据类型:
1.整型
int:整形,存储整数
int(M):M表示预期值。与存储大小和数值的范围无关。 id int 10000
id int(3) zerofill 10000 zerofill 零填充 会在左侧补0 2.浮点型
float[(M,D)]:浮点型,存储小数
salary float(6,2):表示最多6位,小数占2位,最大存储数值为:9999.99 double:浮点型,小数 3.字符型
char(M):固定长度的字符串类型 name char(5) '1 '
varchar(M):可变长度的字符串类型(推荐) name varchar(5) '1'
text:大的字符串类型,4G字符串
blob:字节类型 4.日期
date:日期类型,年月日 YYYY-MM-DD 日期格式
time:时间类型,时分秒 HH:mm:ss 时间格式
year:年份,年 YYYY格式的年份值
timestamp:年月日 时分秒 ,时间戳 2037年的某一个时刻 YYYYMMDDhhmmss
datetime:年月日 时分秒 YY-MM-DD hh:mm:ss 5:整型 tinyint 1 -128~127
smallint 2 32767/65535
int 4 21亿
bigint 8 兆
mediumint 3 八百多万/一千六百多万 注意:选择合适的数据类型,是数据库优化的一部分。 short it better 原则。

四、MySQL数据库中的数据的使用

<1>SQL概述
结构化查询语言,可以用于查询和修改关系数据库的语言。 SQL语言,是数据库的核心语言,被ISO采纳为数据库语言的国际标准,几乎所有的数据库都支持SQL <2>组成
数据定义语言(Data Definition Language,DDL):用于管理和一定数据对象,包括数据库,数据表等。
create:创建数据库和表
drop:删除表对象
alter:修改表结果 数据操作语言(Data Manipulation Language,DML):用于操作数据库对象中所包含的数据
insert:添加数据
delete:删除数据
update:修改数据 数据查询语言(Data Query Language,DQL):用于查询数据库对象中所包含的数据
select:查询数据 事务控制语言(Transaction Control Language,TCL):包括提交事务、事务回滚
commit:提交事务
rollback:事务回滚
savepoint:事务节点 数据控制语言(Data Control Language,DCL):用来管理数据库中,包括管理权限以及数据更改
grant:授权
revoke:收回权限

1.数据定义语言(DDL)

数据库的操作

<1>创建数据库
语法格式: create database [if not exists] 数据库名称 [character set [=] 编码名称]; 例如:
create database tlxy;
create database if not exists tlxy;//忽视错误,显示警告
show warnings;//查看警告
create database db character set gbk;//指定创建的数据库的字符集 <2>查询数据库
语法格式:show databases;//查看所有的数据库 show create database 数据库名称;//查询某一个已经创建的数据库 <3>修改数据库
语法格式:
alter database [if not exists] 数据库名称 [character set 新的编码名称] 例如:
alter database db character set = utf8; <4>删除数据库
语法格式:
drop database 数据库名称; 例如:
drop database db;//删除数据库db

数据表的操作

<1>创建数据表
使用一个数据库:use 数据库名称;
查看当前正在使用的数据库:select database(); 创建数据表语法:
create table 表名(
字段名 字段类型 约束,
字段名 字段类型 约束,
........ ); 例如: 创建用户表 create table user(
uid int,
username varchar(32),
password varchar(32),
birthday date,
sex enum('男','女')
); <2>查询数据表
show tables;显示当前数据库中所有的数据表
show columns from 表名;//查询某张表表结构
desc 表名; //查询某张表表结构 <3>修改数据表
3.1 修改表名
方式一:alter table 表名 rename [as|to] 新表名;
例如:alter table user rename us;
方式二:rename table 旧表名 to 新表名 [,旧表名 to 新表名,..........]
例如:rename table us to user; 3.2 添加列
语法格式:
alter table 表名 add [column] 列名 列定义 [first|after 列名];
例如:
alter table user add sal double after password;//在指定的列后面添加新的列
alter table user add phone varchar(32); //默认在列的最后添加新的列
alter table user add hobby varchar(32) first;//在列的最前面添加新的列 3.3 修改列定义
语法格式:
alter table 表名 modify 列名 列定义 [first|after 列名]; 例如:
alter table user modify sex varchar(32) first; 3.4 修改列名
语法格式:
alter table 表名 change 列的列名 新的列名 新的列定义 [first|after 列名];
例如:
alter table user change hobby address varchar(20) after sal; 3.5 删除列
语法格式:
alter table 表名 drop [column] 列名;
例如:
alter table user drop phone; <4>删除数据表
语法格式:
drop table 表名; 例如:
drop table user;

2.数据操作语言(DML):用于操作数据库对象中所包含的数据

基本查询数据的语句: select * from 表名;

<1>插入操作
语法格式:insert [into] 表名 [(列名1,列名2,.....)] values|value (数值1|表达式,数值2|表达式,....); 例如:
insert into teacher (id,note) values ('1','先挣它一个亿.');
insert into teacher value (2,'wangjianlin','xian zheng ta yi ge yi'); <2>删除操作
语法格式:
delete from 表名 where 条件; 例如:
delete from teacher where id=1;//指定条件删除记录
delete from teacher;//不带条件删除,删除所有的记录 扩充:
truncate table 表名; ---------- 清空表,会清空表中所有的数据 面试题:
delete删除与truncate 有什么区别?? 删除方式:
delete :一条一条的删除,不清清空 auto_increment 记录数
truncate 直接将表中的数据进行清空, auto_increment自增将被重置,从新开始 <3>修改操作
语法格式:
update 表名 set 列名1=数值,列名2=数值,..... where 条件; 例如:
update teacher set name='xiaosan',note='ming nian zai zhao yi ge' where id=1;//带条件修该,修改指定记录 update teacher set name='xiaosi';//不带条件 修改表中所有数据
 

MySQL数据库笔记二:数据类型及数据库操作的更多相关文章

  1. MySQL 系列(二) 你不知道的数据库操作

    第一篇:MySQL 系列(一) 生产标准线上环境安装配置案例及棘手问题解决 第二篇:MySQL 系列(二) 你不知道的数据库操作 本章内容: 查看\创建\使用\删除 数据库 用户管理及授权实战 局域网 ...

  2. MySQL性能优化(二):优化数据库的设计

    原文:MySQL性能优化(二):优化数据库的设计 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.n ...

  3. MySQL数据库(二)--库相关操作、表相关操作(1)、存储引擎、数据类型

    一.库相关操作 1.创建数据库 (1)语法 create database 数据库 charset utf8; (2)数据库命名规范 可以由字母.数字.下划线.@.#.$ 区分大小写 唯一性 不能使用 ...

  4. MySQL数据库(二)——库相关操作、表相关操作(一)、存储引擎、数据类型

    库相关操作.表相关操作(一).存储引擎.数据类型 一.库相关操作 1.创建数据库 (1)语法 create database 数据库 charset utf8; (2)数据库命名规范 可以由字母.数字 ...

  5. MySQL数据库(二)-数据库的增删改查

    简介: 以下是MySQL最基本的增删改查语句.在进行“增删改查”的操作之前,先建立一个包含数据表student的数据库,新建表grade(具体操作可以见上一篇). 一."增"-添加数据 1.1 为表中 ...

  6. MySQL学习笔记(一)——数据库基础

    自己上大学时也学习过数据库,做开发时也用到过,但是做界面开发对于数据库的使用相对来说是比较简单的,大学时系统学习的数据库也还给老师了,在测试工作中也只是用到了一些基础sql,增删改查这一类的,但是自己 ...

  7. sql分类及基本sql操作,校对规则(mysql学习笔记二)

    sql针对操作对象分为不同语言 数据操作(管理)语言 DML或者将其细分为 ( 查询  DQL 管理(增,删,改)  DML) 数据定义语言(对保存数据的格式进行定义) DDL 数据库控制语言(针对数 ...

  8. Redis学习笔记二:单机数据库的实现

    1. 数据库 服务器中的数据库 Redis服务器将所有数据库都保存在服务器状态redis.h/redisServer结构的db数组中,db数组的每个项都是一个redis.h/redisDb结构,每个r ...

  9. (C/C++学习笔记) 二. 数据类型

    二. 数据类型 ● 数据类型和sizeof关键字(也是一个操作符) ※ 在现代半导体存储器中, 例如在随机存取存储器或闪存中, 位(bit)的两个值可以由存储电容器的两个层级的电荷表示(In mode ...

随机推荐

  1. Maven 官网 查找&下载 jar包& pom引用 完美方案

    Maven 官网 查找&下载 jar包 & pom引用 问题描述 在我们在开发过程中,经常遇到程序中需要引用的某个版本jar包,但是在公司的私有仓库下载不到的情况. 遇到这种情况,该怎 ...

  2. MySQL数据库的库表迁移

    最近在研究MySQL数据库的库表迁移问题,主要分为两种情况,一种情况是迁移数据库的表的全部字段,另一种是迁移数据库的表的部分字段.前一种情况是直接使用mysqldump命令来实现,后一种情况则是采用数 ...

  3. 5.Linux文件权限

    Linux用户类别 root:这是系统特权用户类,他们都有访问root登录账号的权限 owner:这是实际拥有文件的用户 group:这是共享文件的组访问权的用户类的用户组名称 world:这是不属于 ...

  4. 第二章 kali安装

    @kali安装 本文以虚拟机进行安装(注意:虚拟机安装不等同于物理机安装,在虚拟机安装成功不等于一定能在物理机,U盘安装成功) 下载kali镜像 官方地址:https://www.kali.org/d ...

  5. flask 之(七) --- 认证|文件|部署

    登陆注册 说明: 令牌Token认证,在对HTTP形式的API发请求时,大部分情况我们不是通过用户名密码做验证,而是通过一个令牌[Token来做验证]. RESTful API无法使用Flask-Lo ...

  6. 【并行计算-CUDA开发】GPU 的硬体架构

    GPU 的硬体架构   这里我们会简单介绍,NVIDIA 目前支援CUDA 的GPU,其在执行CUDA 程式的部份(基本上就是其shader 单元)的架构.这里的资料是综合NVIDIA 所公布的资讯, ...

  7. windows下的句柄利用

    什么是句柄 维基百科:在程序设计中,句柄(handle)是Windows操作系统用来标识被应用程序所建立或使用的对象的整数.其本质相当于带有引用计数的智能指针.当一个应用程序要引用其他系统(如数据库. ...

  8. 菜鸟系列Fabric——Fabric 私密数据(6)

    Fabric 私密数据 1.私密数据的定义 如果某个渠道上的一组组织需要将数据与该渠道上的其他组织保密,他们可以选择创建一个仅包含需要访问数据的组织的新渠道.但是,在每种情况下创建单独的通道会产生额外 ...

  9. iView中Tree组件children中动态checked选中后取消勾选再选中无效问题

    如题,我有一个Tree组件,动态更新check选中子级列表的时候,取消勾选了再点击选中时复选框样式不是勾选状态,但是数据已经有了. 对此解决方案是:将初始化时Tree组件data数据深拷贝一遍再去判断 ...

  10. 博客C语言I作业11

    一.本周教学内容&目标 第5章 函数 要求学生掌握各种类型函数的定义.调用和申明,熟悉变量的作用域.生存周期和存储类型. 二.本周作业头 这个作业属于哪个课程 c语言程序设计II 这个作业要求 ...