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. session 控制单点登录

    在我登录成功之后,我会 session.setAttribute("user", userMap);//设置session 所以就写了一个监听器来控制登录的. package or ...

  2. Docker容器互访三种方式

    我们都知道docker容器之间是互相隔离的,不能互相访问,但如果有些依赖关系的服务要怎么办呢.下面介绍三种方法解决容器互访问题. 方式一.虚拟ip访问 安装docker时,docker会默认创建一个内 ...

  3. 1.let命令总结

    1.let用法类似于var,但是let只在所在代码块有效 { let a = 10; var b = 1; } a // ReferenceError: a is not defined. b // ...

  4. [THUWC2017] 在美妙的数学王国畅游

    Description 懒得概括了.. Solution 挺裸的LCT+挺裸的泰勒展开吧... 稍微了解过一点的人应该都能很快切掉...吧? 就是把每个点的函数泰勒展开一下然后LCT维护子树sum就行 ...

  5. You must reset your password using ALTER USER statement before executing this statement.

    MySQL 5.7之后,刚初始化的MySQL实例要求先修改密码.否则会报错: mysql> create database test; ERROR 1820 (HY000): You must ...

  6. Spring Boot 2.0 升级指南

    Spring Boot 2.0 升级指南 前言 Spring Boot已经发布2.0有5个月多,多了很多新特性,一些坑也慢慢被填上,最近有空,就把项目中Spring Boot 版本做了升级,顺便整理下 ...

  7. 改变eclipse默认的Tomcat部署路径

    eclipse中默认的项目部署路径是在项目的路径,不像myeclipse那样部署后项目在Tomcat的安装路径webapps下.这样虽然可以运行,但是不方便开发和调试,本文将介绍如何改变eclipse ...

  8. 微信小程序性能优化技巧

    摘要: 如果小程序不够快,还要它干嘛? 原文:微信小程序性能优化方案--让你的小程序如此丝滑 作者:杜俊成要好好学习 Fundebug经授权转载,版权归原作者所有. 微信小程序如果想要优化性能,有关键 ...

  9. Docker命令行与守护进程如何交互?

    译者按: Docker是典型的C/S架构,其守护进程(daemon)与命令行(CLI)是通过REST API进行交互的. 原文: Understanding how the Docker Daemon ...

  10. input 属性为 number,maxlength不起作用如何解决?

    <input type="text"  maxlength="5" />   效果ok, 当 <input type="number ...