上节回顾

一、数据类型

什么是数据类型?

  数据类型是指列、存储过程参数、表达式和局部变量的数据特征,它决定了数据的存储格式,代表了不同的信息类型。

所谓数据类型,最直接的理解就是我们有些是存储数字的,而数字当中,我们有时是要存储为整数,有些可能要存储为小数,还有的可能要存储为日期、字符型,这就是我们最直观、最直接了解的数据类型。

在mysql当中,数据类型主要有以下几类:

整型

浮点型

float最高存储小数点后7位,一般选择float,double占用存储空间较大。因为为了优化,需要选择最合适的,而不一定是最大的。

日期时间型

各日期类型的开始时间到结束时间:
1、YEAR:1970至2069
2、TIME:-838:59:59至838:59:59
3、DATE:1000-1-1至9999-12-31
4、DATETIME: 1000-1-1 00:00:00至9999-12-31 23:59:59
5、TIMESTAMP存储范围:1970-1-1 00:00:00到2037-12-31 23:59:59

日期时间类型在实际中应用较少,因为牵扯到跨时区的问题,如果真的要使用时间类型,一般使用数字的形式表示.

字符型

(1)字符型:char(M) 为定长类型,eg:char(5)当我们在存储"abc"时,剩余2位用空格补齐。范围:0~255
(2)varchar(M)为变长类型,eg:varchar(5)当我们在存储"abc"时,则varchar中只存abc,不加空格。范围:0~65535

(3)1Byte == 8bit,11111111 == 2E8 == 255.

(4)enum('value1','value2',·····),只能从给定的enum枚举中选择
(5)SET('value1','value2','value3'....)就相当于一个集合,在里面做排列组合,可以多选里面的值。

二、数据表操作

数据表(或称表)是数据库最重要的组成部分之一,是其他对象的基础。

我们关系型数据库,其实就是一张二维表格,这个表格严谨点指的就是我们的数据表。这个二维表格,行称之为记录,列称之为字段。如果我们只创建了数据库,没有数据表,那么我们只有空的架子,并没有真正存储数据的地方,如果要存储数据,必然要设计表。

1、创建数据表(create table)

  可以通过USE命令打开某个数据库(USE 数据库名称);

  显示当前用户打开的数据库:SELECT BATABASE();

  创建数据表:CREATE TABLE [IF NOT EXISTS] table_name(
        column_name data_type,
        .........
        )

比如:

2、查看数据表(show tables)

SHOW TABLES [FROM db_name] [LIKE 'pattern' | WHERE expr]
SHOW TABLES; //查看当前数据库中的表
SHOW TABLES FROM mysql;//查看数据库mysql下的表
SELECT DATABASE();//查看当前数据库

注:1、查看数据表是否存在:SHOW TABLES [FROM db_name] [LIKE 'pattern' | WHERE expr ]
2、FROM db_name 可以查看其它数据库中的表

3、查看数据表结构(show columns)

4、记录的插入(insert)与查找(select)

5、空值与非空值

禁止为空的字段一定要赋值。

6、自动编号(auto_increment)

1、自动编号:保证记录的唯一性
2、类型必须为整型(可以是FLOAT(5,0)等,小数点后必须为0),必须和主键PRIMARY KEY组合使用
3、默认情况下,起始值为1,每次的增量为1
默认情况下,起始值为1, 每次增量为1.
CREATE TABLE tb3(
id SMALLINT UNSIGNED AUTO_INCREMENT,
username VARCHAR(30) NOT NULL); //报错,自动增量字段必须设置成主键

7、初涉主键约束(primary key)

auto_increment(自动编号)字段必须定义为primary key主键,但主键不一定与auto_increment一起使用。

主键自动为NOT NULL,也就是说必须要为主键赋值。但如果主键选择了AUTO_INCREMENT,那么不需要手动赋值。
auto_increment必须和primary key一起使用,反之则没有这个必要。primary key不允许重复赋值。 对于给了auto_increment属性的字段名,也会给一个unsigned的限制,避免它为负数 自动编号的记录会从1依次递增+1 定义主键时,可以使用key 也可以使用primary key 使用主键约束的字段 自动会变成 not null约束 定义了主键的字段名的列值不允许相同.

8、初涉唯一约束(unique key)

它与主键的区别:主键是一张数据表只能有一个,不能为空,但是唯一约束可以存在多个,而且可以存在空值。

注意:唯一约束,可以有空值,但只能有一个空值。

9、初涉默认约束(default)

三、总结

进入指定数据库 use db_name;
创建数据库表 create table [if not exists] table_name(columns_name type,columns_name type ..);
查看数据库表 show tables;(show tables from db_name like table_name)
查看数据表结构 show columns from table_name;
插入记录 insert [into] table_name [(column_name,...)]values (val,...);
查找记录 select exp,.. from table_name;
自动编号 auto_increment;auto_increment必须和primary key一起使用
唯一约束 unique key
默认约束 default

MySQL之数据类型与操作数据表的更多相关文章

  1. mysql之数据类型以及操作数据表

    数据类型: 数据类型是指列.存储过程的参数.表达式和局部变量的数据特征,它决定了数据的存储格式,代表了不同的信息类型. ———————————————————————————————————————— ...

  2. MySQL(二) —— 数据类型与操作数据表

    数据类型 数据类型是指列.存储过程参数.表达式和局部变量的数据特征,它决定了数据的存储格式,代表了不同的信息类型. 整型:TYNINT(-2^7 ~ 2^7-1); SMALLINT(-2^15 ~ ...

  3. MySQL学习之路(二)——数据类型和操作数据表

    数据类型和操作数据表 2.1 MySQL类型之整型 2.2 MySQL数据类型之浮点型 2.3 日期时间型 DATE 1支持时间:1000年1月1日~9999年12月31日 DATETIME 3 支持 ...

  4. mysql 操作sql语句 操作数据表

    #2. 操作文件 先切换到文件夹下:use db1 查看当前所在的数据库 mysql> select database(); +------------+ | database() | +--- ...

  5. mysql 操作sql语句 操作数据表中的内容/记录

    #3. 操作文件中的内容/记录 往哪张表去插入 insert into 表名指定字段(id,name) 插入要加values(针对前面字段插入)(2,mike); insert into t1(id, ...

  6. MySQL入门(4)——操作数据表

    MySQL入门(4)--操作数据表 创建数据库 CREATE [TEMPORARY] TABLE [IF NOT EXISTS] 数据库名 [(create_definition,...)] [tab ...

  7. MYSQL操作数据表中的记录

    36:操作数据表中的记录插入记录   INSERT INTO 表名  VALUES();   或者INSERT 表名  VALUES();  UPDATE更新记录(单表更新)  DELETE删除记录( ...

  8. MySQL 命令操作数据表

    MySQL 命令操作数据表 1.查看表信息 desc hs_user_credit_info; 2.新增表字段 alter table hs_credit_order add search_relat ...

  9. Python进阶----数据库引擎(InnoDB),表的创建,mysql的数据类型,mysql表的约束

    Python进阶----数据库引擎(InnoDB),表的创建,mysql的数据类型,mysql表的约束 一丶MySQL的存储引擎 什么是存储引擎:    MySQL中的数据用各种不同的技术存储在文件( ...

随机推荐

  1. HTML练习----注册界面

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  2. 分布式架构高可用架构篇_03-redis3集群的安装高可用测试

    参考文档 Redis 官方集群指南:http://redis.io/topics/cluster-tutorial Redis 官方集群规范:http://redis.io/topics/cluste ...

  3. ST_SRID

    定义 ST_SRID 以 ST_Geometry 对象作为输入参数,返回其空间参考 ID. 语法 sde.st_srid (g1 sde.st_geometry) 返回类型 整型 示例 创建下列表格: ...

  4. PHP 命名空间总结

    PHP 5.3 及以上版本中引入了命名空间 的概念. notes: 1. 在 PHP 中,命名空间用来解决在编写 类库 或 应用程序 时创建 可重用 的 代码如 类 或 函数 时碰到的两类问题: ① ...

  5. Javascript 笔记与总结(2-16)事件对象

    事件对象:事件发生的瞬间,发生位置.时间.鼠标按键.触发的节点等信息,被打包成一个对象,此对象,系统自动传递给事件函数的第一个参数. [例]记录 鼠标划过图片时的事件对象 <!DOCTYPE h ...

  6. 一个项目软件的大小基本都占用在外部引用的jar包上了。

    1.一个项目几百兆,基本都是外部jar包,引用的. 2.自己本身业务代码并没有那么多的 3.看下meven的仓库大小就知道了,都几百兆

  7. 解决蓝屏代吗0x0000007B的几种常见办法

        解决蓝屏代吗0x0000007B的几种常见办法 0x0000007B 蓝屏代码的分析 ◆错误分析:Windows在启动过程中无法访问系统分区或启动卷. 网络上经过收集,主要有四种可能.第一是新 ...

  8. Irrlicht引擎I 配置

    游戏是一个比较大的系统,包含了图形引擎.网络.AI.声音.UI等模块,模块的开发可能会分别进行或者采用开源项目,Irrlicht引擎基本包含了这些模块,不过在使用中也会陆续加入其它的模块.以前开发的程 ...

  9. Solr 连接数据库

    实际工程应用中,从数据库导出数据创建索引再常见不过了,现在实验一下从数据库导入数据创建索引. 一.版本说明 Solr版本:4.7.0 数据库:sqlserver2005 二.配置步骤 1.  准备的j ...

  10. sqlserver log

    DBCC LOGINFODBCC log('QSSys', TYPE=2)goselect * from sys.fn_dblog(null,null)select [Dirty Pages],[Mi ...