MySQL

1.mysql

2.MySQL数据表操作之记录的操作与查找

查看数据表结构:

    DESC table_name;
   	SHOW COLUMNS FORM table_name;

插入数据:

	INSERT [INTO] table_name [(col_name,......)] VALUE;

查找数据:

	SELECT* FROM table_name;
	SELECT col_name,... FORM table_name;

3.Mysql基础数据类型之超出范围处理

严格数据模式

	SET sql_mode = 'TRADITIONAL';

关闭严格模式

    SET sql_mode ='';

3.MySQL字段约束

     有时只定义了字段的数据类型还不够,还要设置其他一些附加的属性,如自动增量的设置、自动补0的设置和默认值的设置等一些特殊的设置。下面具体介绍这些特殊字段的属性。

1. UNSIGNED
    该属性只能用于设置数值类型,不允许数据列出现负数。如果不需要向某字段中插入负数,则使用该属性修饰可以使该字段的最大存储长度增加一倍。例如,正常情况下数据类型TINYINT的数值范围在128 127,而使用UNSIGNED属性修饰以后最小值为0,最大值可以达到255。

2. ZEROFILL
     该属性也只能用于设置数值类型,在数值之前自动用0补齐不足的位数。例如,将5插入-一个声明为int(3) ZEROFILL的字段,在之后查询输出时,输出的数据将是“005"。当给一个字段使用ZEROFIL修饰时,该字段自动应用UNSIGNED属性。

3. AUTO INCREMENT
     该属性用于设置字段的自动增量属性,当数值类型的字段设置为自动增量时,每增加条新记录,该字段的值就自动加1,而且此字段的值不允许重复。此修饰符只能修饰整数类型的字段。插入新记录时自增字段可以为NULL、0或留空,这时自增字段自动使用上次此字段的值加1,作为此次的值。插入时也可以为自增字段指定某一非零数值,这时,如果表中已经存在此值将出错;否则使用指定数值作为自增字段的值,井且下次插入时,下个字段的值将在此值的基础上加1。
4. NULL和NOT NULL
    默认为NULL,即没有在此字段插入值。如果指定了NOT NULL,则必须在此字段插入值。
5. DEFAULT
     可以通过此属性来指定一个默认值,如果没有在此列添加值,那么默认添加此值。例如,在用户表users中,可以将性别字段的默认值设置为“男”。在为该列插入数据时,只在当用户为“女”时才需要指定,否则可以不为该字段指定值,默认值就为“男”。

3.1 MySQL字段约束之主键约束

  • 主键约束PRIMARY KEY
  • 每张数据表中只能存在一个主键
  • 主键保证记录的唯一性
  • 主键自动为NOT NULL
  • AUTO_INCREMENT必须和PRIMARY KEY 一起使用,但是PRIMARY KEY 不需要

3.2 MySQL字段约束之唯一约束

  • 唯一约束UNIQUE KEY
  • 唯一约束可以保证记录的唯一性
  • 唯一约束的字段可以为空值(NULL)
  • 每张数据表可以存在多个唯一约束

3.3 MySQL字段约束之外键约束

  • 1.父表和子表必须使用相同的存储引擎,而且禁止使用临时表。
  • 2.数据 表的存储引擎只能为InnoDB。
  • 3.外键列和参照列必须具有相似的数据类型。其中数字的长度或是否有符号位必须相同;而字符的长度则可以不同。
  • 4.外键列和参照列必须创建索引。如果外键列不存在索引的话,MySQL将自动创建索引。
  • 5.查看索引: SHOW INDEXES FROM tab_ name

3.4 MySQL字段约束之外键约束参照操作

  • 1.CASCADE:从父表删除或更新且自动删除或更新子表中匹配的行
    格式: ON UPDATE| DELETE CASCADE
  • 2.SET NUL:从父表删除或更新行,并设置子表中的外键列为NULL。如果使用该选项必须保证子表列没有指定NOT NULL。
  • 3.RESTRICT: 拒绝对附表的删除或更新操作
  • 4.NO ACTION:标准SQL的关键字,在MySQL中与RESTRICT相同

4.MySQL字段操作之修改数据表

添加单列

ALTER TABLE tab_ name ADD [COLUMN] col name column_ _definition [FIRST | AFTER col _name]

添加多列

 ALTER TABLE tab_ name ADD [COLUMN] (col name column_ difnitie.......

删除列

ALTER TABLE tab_ name DROP [COLUMN] col_ name;

删除多列

 ALTER TABLE tab_ name DROP [COLUMN] col_ name,DROP [COLUMN] col_ am.....

添加主键约束

  ALTER TABLE tab_ name ADD [CONSTRAINT [symbol] PRIMARY KEY [index_type] (index_ _col_ name)

添加唯一约束

ALTER TABLE tab_ name ADD [CONSTRAINT [symbol] UNIQUE [INDEX|KEY] [index_ name] [index_type](index_ col name.....)

添加外键约束

ALTER TABLE tab_ name ADD [CONSTRAINT [symbol]] FOREIGN KEY (index_name) REFERENCES ftab_name (index_name)

4.1 MySQL字段操作之修改数据表

  • 添加/删除默认约束
ALTER TABLE tab_name ALTER [COLUMN] col_name {SET DEFAULT literal | DROP DEFAULT}
  • 删除主键约束
ALTER TABLE tab_name DROP PRIMARY KEY
  • 删除唯一约束
ALTER TABLE tab_name DROP {INDEX|KEY} index_name
  • 删除外键约束
ALTER TABLE tab_name DROP FOREIGN KEY fk_symbol
  • 修改列定义
ALTER TABLE tab_name MODIFY [COLUMN] col_name comumn_definition [FIRST| AFTER col_name]
  • 修改列名称
ALTER TABLE tab_name CHANGE [COLUMN] old_col_name new_col_name column_definition [FIRST | AFTER col_name]
  • 修改数据表
     方法1:
ALTER TABLE tab_name REBANE [TOIAS] new_tab_name

       方法2:

RENAME TABLE tab_name TO new_tab_name[,tab_name2 TO new_tab_name2]...

查询

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值