mysql添加约束的两种条件:

------表的内部添加(约束)

列名1 数据类型 (int) primary key auto_increment,---主键默认不能为空的

列名2 数据类型 not null,----不能为空

列名3 数据类型 unique,---唯一值

列名4 数据类型 default '值',---默认值

列名5 数据类型 default null, ---默认为空

列名6 数据类型 check '值', --检查

foreign key(字段) references by 关联表(关联表主键)---外健

mysql增删查改:

INSERT INTO 表名  VALUES( value1, value2,...valueN );----增加数据

SELECT * FROM 表名----查询数据

UPDATE 表名 SET 修改的字段 WHERE 条件---修改数据

DELETE FROM 表名 WHERE `id`>10  -------删除数据

LIMIT 语法 子句

表示分页显示 指定开始位置和显示条数

-- 0 表示起始点 5表示显示条数 可以判定显示为第一页
SELECT * FROM `table_name` WHERE `id` LIMIT 0,5

数据排序:

  1. -- ASC 升序
  2. -- DESC 降序

SELECT field 表名 ORDER BY `id` ASC-----查询数据升序

-----数据分组:

SELECT * FROM 表名GROUP BY sex;

-----表的外部添加(约束)

1.主键约束
  添加:alter table table_name add primary key (字段)
  删除:alter table table_name drop primary key
2.非空约束
  添加:alter table table_name modify 列名 数据类型 not null
  删除:alter table table_name modify 列名 数据类型 null
3.唯一约束
  添加:alter table table_name add unique 约束名(字段)
  删除:alter table table_name drop key 约束名
4.自动增长
  添加:alter table table_name modify 列名 int auto_increment
  删除:alter table table_name modify 列名 int
5.外键约束
  添加:alter table table_name add constraint 约束名 foreign key(外键列)
  references 主键表(主键列)
删除:
第一步:删除外键
  alter table table_name drop foreign key 约束名
第二步:删除索引
  alter table table_name drop index 索引名

建立mysql表时需要的条件:

ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='地址表';

ENGINE=InnoDB:

  它提供了事务控制能力功能,它确保一组命令全部执行成功,或者当任何一个命令出现错误时所有命令的结果都被回退,可以想像在电子银行中事务控制能力是非常重要的。

DEFAULT CHARSET=utf8:

  该表默认为utf-8

COMMENT='地址表';

  该表的注释

配合聚合函数来使用

  • COUNT():统计记录的数目
  • SUM():求字段的和
  • AVG():求字段的平均值
  • MAX():求字段的最大值
  • MIN():求字段的最小值

mysql建表基本语法的更多相关文章

  1. MySql 建表出现的问题:[ERR] 1064 - You have an error in your SQL syntax; check the manual.......

    使用 MySql 建表出现的问题 在使用 Navicat Premium 运行 sql 语句进行建表时,MySQL 报错如下: 建表语句: DROP DATABASE IF EXISTS javawe ...

  2. 基于表的数据字典构造MySQL建表语句

    表的数据字典格式如下: 如果手动写MySQL建表语句,确认麻烦,还不能保证书写一定正确. 写了个Perl脚本,可快速构造MySQL脚本语句. 脚本如下: #!/usr/bin/perl use str ...

  3. mysql建表出现Timestamp错误

    mysql建表时如果有两个或以上的字段为Timestamp,那么可能会出现如下错误: Incorrect table definition; there can be only one TIMESTA ...

  4. MySQL 建表语句 create table 中的列定义

    MySQL 建表语句 create table 中的列定义: column_definition: data_type [NOT NULL | NULL] [DEFAULT default_value ...

  5. 三种常用的MySQL建表语句

    MySQL建表语句是最基础的SQL语句之一,下面就为您介绍最常用的三种MySQL建表语句,如果您对MySQL建表语句方面感兴趣的话,不妨一看. 1.最简单的: CREATE TABLE t1(    ...

  6. 【转载】mysql建表date类型不能设置默认值

    如题,mysql建表date类型的不能设置一个默认值,比如我这样: CREATE TABLE `new_table` ( `biryhday` datetime NULL DEFAULT '1996- ...

  7. Mysql建表通用写法

    Mysql建表通用写法 CREATE TABLE IF NOT EXISTS stu( id ) PRIMARY KEY AUTO_INCREMENT,//主键 自增 stuname ) NOT NU ...

  8. 【记录】Mysql 建表注意事项

    博主最近打算搭建商城,由于之前对建表只有很浅显的理解,没有太过深入了解,建表过程中遇到一些问题,现记录如下, 如有问题请各位留言指正,感激不尽: 建表时设置如何设置联合主键?如下标红处: CREATE ...

  9. MySQL建表DDL规范(欢迎补充)

    MySQL建表DDL规范(欢迎补充) 基本规范: 表名和字段名全大写,一般表名以T开头 脚本需支持可重复执行,带IF NOT EXISTS ,但不可带DROP语句 字符集使用utf8mb4 (CHAR ...

随机推荐

  1. 【SqlServer系列】远程访问

    1   概述 已发布[SqlServer系列]文章如下: [SqlServer系列]SQLSERVER安装教程 [SqlServer系列]数据库三大范式 [SqlServer系列]表单查询 [SqlS ...

  2. python属性管理(1):基础

    管理属性的几种方式 在python中访问.设置.删除对象属性的时候,有以下几种方式: 使用内置函数getattr().setattr()和delattr() 自己编写getter().setter() ...

  3. advanced installer重新打包教程

    一.简介 本次利用Advanced Installer软件里的Repackager重封装工具进行测试制作MSI安装包,还开可以利用Advanced Installerr制作MSI安装包 原理为执行两次 ...

  4. Python爬虫之多线程下载豆瓣Top250电影图片

    爬虫项目介绍   本次爬虫项目将爬取豆瓣Top250电影的图片,其网址为:https://movie.douban.com/top250, 具体页面如下图所示:   本次爬虫项目将分别不使用多线程和使 ...

  5. c# 静态构造函数与构造函数的调用先后

    先上代码: 测试类: /// <summary> /// 构造函数 /// </summary> public RedisHelper() { Console.WriteLin ...

  6. Java学习笔记之——自动装箱与拆箱

    自动装箱与拆箱 基本类型与引用类型的互相转换 1. 基本类型对应的包装类 byte    short       char      int       long    flaot    double ...

  7. Java设计模式 - 单例模式详解(下)

    单例模式引发相关整理 关联线程安全 在多线程下,懒汉式会有一定修改.当两个线程在if(null == instance)语句阻塞的时候,可能由两个线程进入创建实例,从而返回了两个对象.对此,我们可以加 ...

  8. Promise是Monad吗?

    译者按: 近年来,函数式语言的特性都被其它语言学过去了. 原文: Functional Computational Thinking — What is a monad? 译者: Fundebug 为 ...

  9. CSS基础知识思维导图xmind

    这是我根据自己的学习笔记整理的思维导图,WEB前端的知识很多,汇总来看会比较清晰.

  10. 替换富文本里的px为rem

    var content = '23px' content = content.replace(/(\d+)px/g, function(s, t) { s = s.replace('px', ''); ...