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. TCP/IP原理浅析

    TCP/IP概述 TCP/IP起源于1969年美国国防部(DOD:The United States Department Of Defense)高级研究项目管理局(APRA:AdvancedRese ...

  2. MyBatis源码解析(九)——Type类型模块之类型处理器注册器(TypeHandlerRegistry)

    原创作品,可以转载,但是请标注出处地址:http://www.cnblogs.com/V1haoge/p/6709157.html 1.回顾 上一篇研究的是类型别名注册器TypeAliasRegist ...

  3. Spring的@Transactional事务注意事项

    1.@Transactional应该放在方法级别,不需要使用事务的方法,就不要放置事务,2.查询方法声明不要事务,否则对性能是有影响的.3.对同一个类里的方法调用, @Transactional无效 ...

  4. 第一册:lesson eighty one.

    原文: Roast beef and potatoes. A:Hi,Carol,where is Tom? B:He is upstairs.He is having a bath. Tom,Sam' ...

  5. Java高并发--消息队列

    Java高并发--消息队列 主要是学习慕课网实战视频<Java并发编程入门与高并发面试>的笔记 举个例子:在购物商城下单后,希望购买者能收到短信或者邮件通知.有一种做法时在下单逻辑执行后调 ...

  6. python多线程-共享全局变量

    目录 多线程-共享全局变量 多线程-共享全局变量 列表当作实参传递到线程中 总结 多线程-共享全局变量问题 多线程开发可能遇到的问题 测试1 测试2 多线程-共享全局变量 多线程-共享全局变量 imp ...

  7. 5.枚举和注解_EJ

    第30条: 用enum代替int常量 枚举类型是指由一组固定的常量组成合法值得类型.例如一年中的季节,太阳系中的行星或一副牌中的花色.在开发中我们经常在类使用static final来定义一个int常 ...

  8. 预览github代码

    方法一:最简单的方法,在代码的url前面加上: http://htmlpreview.github.com/? 方法二: 使用Githubpages, 方法一有可能会修改css样式,不过方法二略复杂, ...

  9. vue(三)-父子组件通信

    原因 :  Vue 的组件作用域都是孤立的,不允许在子组件的模板内直接引用父组件的数据.必须使用特定的方法才能实现组件之间的数据传递. props  父组件给子组件传递数据 props:作用是父组件给 ...

  10. meta标签的http-equiv与content解析

    meta是html语言head区的一个辅助性标签,以下是meta的http-equiv属性和content属性的一些介绍. http-equiv属性 指示服务器在发送实际的文档之前,要在传送给浏览器的 ...