第四章 数据类型及数据库基本操作

一、MySQL中的数据类型

  • MySQL支持多种数据类型,数值类型、日期/时间类型和字符串类型
  • 不区分大小写

1、数值类型

类型名 涵义
tinyint 一个很小的整数,1个字节  0-255  例:定义年龄,可以用这个类型
smallint 一个小整数,2个字节
mediumint 一个中等大小的整数,3个字节
int、integer 一个正常大小的整数,4个字节
bigint 一个大整数,8个字节
float 一个小(单精密)浮点数字,近似值,可以带一个整数类型的参数,0到23的精度对应的float列的4个字节单精度,24到53精度对应double列的8个字节双精度
double
double precision
real
一个正常大小(双精密)浮点数字,近似值
decimal
numeric
一个精确的浮点数字

1、tinyint

create table p(id tinyint unsigned);

2 decimal(5,2)

5表示总长度,不包括小数字

2表示小数点长度

2、日期时间类型

类型名 涵义
date 一个日期,以‘YYYY-MM-DD‘格式来显示,范围从‘1000-01-01‘到‘9999-12-31’,3个字节
time 一个时间,以‘HH:MM:SS‘格式来显示,time值的范围可以从‘-838:59:59’到‘838:59:59’.小时部分会大的原因是:time类型不公可以用于表示一天的时间(必须小于24小时),还可以表示某个过去的事情到现在的时间或两个事件之 间的时间间隔(可以大于24小时,或者为负)。3个字节
datetime 日期和时间的组合,以‘YYYY-MM-DD HH:MM:SS’格式来显示,取值范围:“1000-01-01 00:00:00"到”9999-12-31 23:59:59“,8个字节
timestamp 一个时间戳,基本上与datetime差不多,但是在建时间戳类型的列上会自动添加默认值为current_timestamp,而且在更新行时自动用当前时间更新时间戳类型的列。取值范围:”19700101000000“到2037年的某个时刻,4个字节
year 以YYYY格式 检索和显示year值。范围是1901到2155.1个字节
插入的值可以是4位字符串,也可以是2位字符串,也是4位或2位数字

3、字符数据类型

  • text和blob是二进制类型的,text 适合存储长文本,blob适合文本、声音、图像

4、布尔数据类型

  • boolean简写成bool
  • 0表示假,非0值表示真

二、MySQL数据库的操作

1 创建数据库

  1. create database 数据库名称;

2 查看数据库

  1. //查看已创建的数据库
  2. show database;

3 选择数据库

  1. use 数据库名;

4 删除数据库

  1. drop database 数据库名;

三、表操作

1 创建表

  1. create table[if not exists] table_name(
  2. 列名 数据类型 列级约束,
  3. ...
  4. )

注:创建表时,需要指定下列内容:

  • 唯一的表名称
  • 表内唯一的列名称
  • 列的数据类型及其宽度和其他约束

  • 为列设置默认值,可以用使用关键字:default
  • 对于整数列,可以使用关键字 auto_increment,将该列定义成自动增长列
  • 一个表只能有一个自增列
  • t得到最后一次插入的值:last_insert_id()
  • 为表设置存储引擎

2 查看表结构

  1. desc 表名;

3 查看列信息

  1. show columns 数据库名.表名;

4 修改表结构

  • 添加一列
  1. alter table 表名 add column 列名 类型
  2. //column这个关键字可以省略
  • 修改某列的类型
  1. alter table 表名 modify column 列名 列类型;
  • 修改列名
  1. alter table 表名 change 旧列名 新列名 数据类型;
  2. //数据类型可改可不改
  • 删除一列
  1. alter table 表名 drop column 列名;
  2. //column关键字可以省略

5 重命名表

  1. rename table 表名 to 新表名

6 查看表:查看数据库的表

  1. show tables [like ‘pattern‘] from 数据库名;

7 删除表

  1. drop table [if exits] 表名;

  • drop table 删除一个或多个数据库表,所有表中的数据和表的结构均被删除。

三、练习

1.创建新闻发布系统,表名为message有如下字段

id 文章id

title 文章标题

content 文章内容

category_id 文章分类id

hits 点击量

注意: 要求文章(id)设置为自动增长, 并要求表的存储引擎为InnoDB

2.同样上述新闻发布系统:表comment记录用户回复内容,

字段如下

comment_id          回复id

id                  文章id,

comment_content     回复内容

注意: 要求回复id(comment_id) 设置为自动增长,并要求表的存储引擎为MyISAM



捐赠我们
    良师益友工作室一直在致力于帮助编程爱好更加快速方便地学习编程,如果您对我们的成果表示认同并且觉得对你有所帮助,欢迎您对我们捐赠^_^。

时间: 2024-08-28 21:05:06

第四章 数据类型及数据库基本操作的相关文章

3.22数据库基础知识:①数据类型②基本规则③数据库基本操作,增删改库,表

数据库:①数据类型②基本规则③数据库基本操作,增删改库,表 DATABASE 数据库Relational Database 关系型数据库column 列 row行Primary Key 主键 Foreign Key 外键DBMS 数据库管理系统 Database Management SystemRDBNS 关系型数据库管理系统SQL Structured Query Language 结构化查询语言SQL 分为:DDL DQL DML DCL 一.数据类型:1.整数型:INT BIGINT2.

第四章:MySQL数据库的备份与恢复

目录 1. 备份数据的意义 2. 数据库备份... 1 2.1 备份单个数据库练习多种参数使用... 1 2.1 mysqldump的工作原理... 8 .3. 数据库备份实践... 9 3.1 备份多个库... 9 3.2 分库备份... 10 3.3 备份单表及分表备份... 11 3.4 备份多个表... 13 3.5 备份数据库表结构(不包含数据)... 13 3.6 备份表中数据... 14 3.7 小结... 15 3.8 刷新binlog的参数... 15 3.9 mysqldum

javascript:第四章数据类型 介绍1

<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>无标题文档</title> <script> /* ECMAScript:标准.核心 HTML 标签类型:block.inline.inline-block.table-- J

javascript:第四章 数据类型的转换2

<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>数据类型的转换</title> <script> var a = '+100'; // alert( a+100 ); // '+100100' // alert( Numbe

【MySQL】《高性能MySQL》学习笔记,第四章,Schema与数据类型优化

[MySQL]<高性能MySQL>学习笔记,第四章,Schema与数据类型优化 良好的逻辑设计和物理设计是高性能的基石,应该根据系统将要执行的查询语句来设计schema. 反范式的设计可以加快某些类型的查询,单同时可能使另一类型的查询变慢,比如添加计数表和汇总表是一种很好的优化查询的方式,但这些表的维护成本可能会很高. 1.选择优化的数据类型 更小的通常更好. ? 应该尽量使用可以正确存储数据的最小类型,更小的数据类型通常更快,因为他们占用更少的磁盘,内存和CPU缓存,并且处理时需要的CPU周

OpenGL ES着色器语言之变量和数据类型(一)(官方文档第四章)和varying,uniform,attribute修饰范围

OpenGL ES着色器语言之变量和数据类型(一)(官方文档第四章)   所有变量和函数在使用前必须声明.变量和函数名是标识符. 没有默认类型,所有变量和函数声明必须包含一个声明类型以及可选的修饰符.变量在声明的时候首先要标明类型,后边可以跟多个变量,之间用逗号隔开.很多情况下,变量在声明的时候可以使用等号“=”进行初始化. 用户定义类型可以使用struct,在结构体中所有变量类型都必须是OpenGL ES着色器语言定义的关键字.OpenGL ES着色语言是类型安全的,因此不支持隐式类型转换.

OpenGL ES着色器语言之变量和数据类型(二)(官方文档第四章)

OpenGL ES着色器语言之变量和数据类型(二)(官方文档第四章) 4.5精度和精度修饰符 4.5.1范围和精度 用于存储和展示浮点数.整数变量的范围和精度依赖于数值的源(varying,uniform,纹理查找,等等),是不是顶点或者片元着色器,还有其他一些底层实现的细节.最低存储需要通过精度修饰符来声明.典型地,精度操作必须要保留变量包含的精度存储.仅有的例外是需要大量复杂计算的内建函数,如atan(),返回值的精度低于声明的精度. 强烈建议顶点语言提供一种匹配IEEE单精度浮点数或更高精

深入浅出数据库第四章

1NF: 1.必须有主键(主键不能为NULL,插入数据时必须包含主键值,必须主键为NULL,主键不可以被修改) 2.保持原子性 (列与列之间不能相似,每列在查找的时候可行) 关系关系数据库: 关系不是指表与表之间的关系,而是指表中每列的内容,怎样最佳的从一张表中描述事物,需要考虑可查找 若一张表开始没有主键: 1. 直接drop table tablename;再建表,insert into tablename所有数据    不可行,数据太多 这里可以查找以前的create table 命令,s

oracle基本语句(第四章、数据库安全管理)

1.用SYS用户以SYSDBA身份登录SQL Plus,使用DBA_USERS视图查看用户信息: SELECT USERNAME, ACCOUNT_STATUS, CREATED FROM DBA_USERS;--用户名,账户状态,创建用户的日期 2.创建用户.删除用户 CREATE USER <用户名> IDENTIFIED BY<口令> DEFAULT TABLESPACE <默认表空间> TEMPORARY TABLESPACE <临时表空间>; --