1.数据类型,存储的类型。

整型

TINYINT    有符号-128到127   无符号值:0到255                        1字节
SMALLINT   有符号  -32768到32767  0到65535                         2字节
MEDIUMINT  有符号 -8388608到8388607  无符号 0到16777215             3字节
INT        有符号 -2147483648到2147483647 无符号 0到4294967295      4字节
BIGINT     有符号位 -9223372036854775808到9223373036854775807   无符号 0到18446744073709551615  8字节

选择合适的类型存储数据,有利于数据优化。

浮点型

FLOAT
DOUBLE

日期类型

YEAR                 1
TIME                 3
DATE                 3
DATETIME             8
TIMESTAMP            4

字符型

CHAR                 0-255    字节
VARCHAR              0-65535
TINYTEXT             0-255
MEDIUMTEXT           0-167772150
LONGTEXT             0-4294967295
ENUM('value1','value2'..)              65535

2.数据表,是数据库最重要的组成部分之一

查看选择的数据库

SELECT DATABASE();

创建数据表,UNSGINED无符号

CREATE TABLE IF NOT EXISTS tb1(
    username VARCHAR(20),
    age TINYINT UNSIGNED,
    salary FLOAT(9,2) UNSIGNED
);

查看数据表列表

SHOW TABLES FROM t1;

查看数据表结构

SHOW COLUMNS FROM tb1;

3.INSERT向数据表写入记录

INSERT tb1(username,age,salary) VALUES('张三',25,8000.5);INSERT tb1(username,salary) VALUES('李四',6222.5);

4.记录查找

SELECT * FROM tb1;

*  号是字段的过滤

5.空值与非空

NULL 字段值可以为空

NOT NULL  字段值禁止为空

CREATE TABLE tb2(
  username VARCHAR(20) NOT NULL,
  age TINYINT UNSIGNED NULL
);

为非空,插入的值不能为NULL

6.自动编号,数据唯一性

默认情况下,起始值为1,每次的增量为1.

主键约束,每张数据表只能存在一个主键,保证唯一性,主键自动为NOT NULL

CREATE TABLE tb3(
   id SMALLINT UNSIGNED AUTO_INCREMENT KEY,
   username VARCHAR(30) NOT NULL
);

插入记录后,查看就可以看到id递增

7.唯一约束 UNIQUE KEY

CREATE TABLE tb4(
  id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
  username VARCHAR(20) NOT NULL UNIQUE KEY,
  age TINYINT UNSIGNED
);

当插入同样username自动时

8.默认约束    当插入记录时,如果没有明确为字段赋值,则自动赋予默认值。

demo

CREATE TABLE tb5(
 id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
 username VARCHAR(20) NOT NULL UNIQUE KEY,
 sex ENUM('1','2','3') DEFAULT '3'
);

写入记录,sex没有赋值默认为3

持续更新中。。。

mysql的学习笔记(二)的更多相关文章

  1. MYSQL初级学习笔记二:数据表相关操作及MySQL存储引擎!(视频序号:初级_5,7-22|6)

    知识点三:数据表相关操作(5,7-22) --------------------------------整型--------------------------------- --测试整型 CREA ...

  2. MYSQL进阶学习笔记二:MySQL存储过程和局部变量!(视频序号:进阶_4-6)

    知识点三:MySQL存储过程和局部变量(4,5,6) 存储过程的创建:     创建存储过程的步骤: 首先选中数据库 改变分隔符,不让分号作为执行结束的标记.(通常情况下,改变分隔符命令 DELIMI ...

  3. MySQL数据库学习笔记(十二)----开源工具DbUtils的使用(数据库的增删改查)

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  4. python3.4学习笔记(二十五) Python 调用mysql redis实例代码

    python3.4学习笔记(二十五) Python 调用mysql redis实例代码 #coding: utf-8 __author__ = 'zdz8207' #python2.7 import ...

  5. 基于【 MySql 】二 || mysql详细学习笔记

    mysql重点学习笔记 /* Windows服务 */ -- 启动MySQL net start mysql -- 创建Windows服务 sc create mysql binPath= mysql ...

  6. MySQL数据库学习笔记(十)----JDBC事务处理、封装JDBC工具类

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  7. MySQL数据库学习笔记(九)----JDBC的ResultSet接口(查询操作)、PreparedStatement接口重构增删改查(含SQL注入的解释)

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  8. Django学习笔记二

    Django学习笔记二 模型类,字段,选项,查询,关联,聚合函数,管理器, 一 字段属性和选项 1.1 模型类属性命名限制 1)不能是python的保留关键字. 2)不允许使用连续的下划线,这是由dj ...

  9. python3.4学习笔记(二十四) Python pycharm window安装redis MySQL-python相关方法

    python3.4学习笔记(二十四) Python pycharm window安装redis MySQL-python相关方法window安装redis,下载Redis的压缩包https://git ...

  10. MYSQL数据库学习笔记1

      MYSQL数据库学习笔记1 数据库概念 关系数据库 常见数据库软件 SQL SQL的概念 SQL语言分类 数据库操作 创建数据库 查看数据库的定义 删除数据库 修改数据库 创建表 数据类型 约束 ...

随机推荐

  1. java 基础之枚举

    问题:对象的某个属性的值不能是任意的,必须为固定的一组取值其中的某一个 解决办法: 1)  在setGrade方法中做判断,不符合格式要求就抛出异常 2)  直接限定用户的选择,通过自定义类模拟枚举的 ...

  2. border-radius 圆角

    border-radius:3px;  参数的单位可以使绝对的像素px,也可以用相对单位%; 参数顺序是左上角,右上角,右下角,左下角. 圆角: div{width: 100px;height: 10 ...

  3. 图片和base64相互转化

    # -*- coding: utf-8 -*- import urllib2 as ulb import base64 #用urllib2库链接网络图像 response=ulb.Request('h ...

  4. 干货 | Java中获取类名的3种方法!

    获取类名的方法 Java 中获取类名的方式主要有以下三种. getName() 返回的是虚拟机里面的class的类名表现形式. getCanonicalName() 返回的是更容易理解的类名表示. g ...

  5. Python 列表list

    列表list: [ ] 类似Java中的数组. 通过索引可以取到具体位置上的值. names = ["ZhangYang","WangGui","Li ...

  6. Git打标签与版本控制规范

    前言 本文适用于使用Git做VCS(版本控制系统)的场景. 用过Git的程序猿,都喜欢其分布式架构带来的commit快感.不用像使用SVN这种集中式版本管理系统,每一次提交代码,都要为代码冲突捏一把冷 ...

  7. Vue.js-11:第十一章 - Vue 中 ref 的使用

    一.前言 在之前的前端开发中,为了实现我们的需求,通常采用的方案是通过 JS/Jquery 直接操纵页面的 DOM 元素,得益于 Jquery 对于 DOM 元素优异的操作能力,我们可以很轻易的对获取 ...

  8. FreeSql.Repository 通用仓储层功能

    前言 好多年前,DAL 作为数据库访问层,其实是非常流行的命名方式. 不知道从什么时候开始,仓储层成了新的时尚名词.目前了解到,许多人只要在项目中看见 DAL 就会觉得很 low,但是比较可笑的一点是 ...

  9. JS实现页面复制文字时自动加版权

    经亲自实践,尝试了各种方法,目前可行的方法主要有如下两种: 可以在任何运行使用js代码的网站中使用,比如本人在自己的博客园博客中实现了一下,读者您可亲自在本人博客上测试. 方法1: <scrip ...

  10. SpringBoot进阶教程(二十八)整合Redis事物

    Redis默认情况下,事务支持被禁用,必须通过设置setEnableTransactionSupport(true)为使用中的每个redistplate显式启用.这样做会强制将当前重新连接绑定到触发m ...