美文网首页
Mysql从学会基础到学会放弃

Mysql从学会基础到学会放弃

作者: 小马哥是没有感情的 | 来源:发表于2019-11-14 08:40 被阅读0次

一、MySQL新增字段

1.单个字段
ALTER TABLE people ADD COLUMN name VARCHAR(100) DEFAULT NULL COMMENT '姓名'
2. 批量增加字段
方法一
可以使用事务

语法:

begin;                                           //事务开始
alter table 表名  add 字段名  字段类型(长度);
alter table 表名 add 字段名  字段类型(长度);
alter table 表名 add 字段名  字段类型(长度);
alter table 表名 add 字段名  字段类型(长度);
commit;    

方法二

alter table 表名 add (字段1 类型(长度),字段2 类型(长度),字段3 类型(长度));

alter table em_day_data add (f_day_house11 int(11),f_day_house12 int(11),f_day_house13 int(11));

MySQL修改字段

1. 修改字段长度
语法:
ALTER TABLE 表名 MODIFY COLUMN 字段名  数据类型(修改后的长度)
ALTER TABLE attence MODIFY COLUMN id INT(20)
2.修改字段的名称
alter table <表名> change <字段名> <字段新名称> <字段的类型>。
ALTER TABLE attence CHANGE attence_name attence_newname VARCHAR(20)

MySQL删除表中的一个字段

先看看删除之前的表结构:

mysql> select * from test;
+------+--------+----------------------------------+------------+------------+------------+------------+
| t_id | t_name | t_password                       | t_birth    | birth      | birth1     | birth2     |
+------+--------+----------------------------------+------------+------------+------------+------------+
|    1 | name1  | 12345678901234567890123456789012 | NULL       | 1990-01-01 | 0000-00-00 | 2013-01-01 |
|    2 | name2  | 12345678901234567890123456789012 | 2013-01-01 | NULL       | 0000-00-00 | 2013-01-01 |
+------+--------+----------------------------------+------------+------------+------------+------------+
2 rows in set (0.00 sec)

执行删除命令,使用drop关键字。
基本的语法为:alter table <表名> drop column <字段名>;

具体的命令如下:

mysql> alter table test drop column birth1;
Query OK, 0 rows affected (0.13 sec)
Records: 0  Duplicates: 0  Warnings: 0

MySQL 清空表(truncate)与删除表中数据(delete) 详解

删除表信息的方式有两种 :
1. truncate table table_name;
2. delete * from table_name;
注 : truncate操作中的table可以省略,delete操作中的*可以省略

truncate、delete 清空表数据的区别 :
1> truncate 是整体删除 (速度较快),delete是逐条删除 (速度较慢)
2> truncate 不写服务器 log,delete 写服务器 log,也就是 truncate 效率比 delete高的原因
3> truncate 不激活trigger (触发器),但是会重置Identity (标识列、自增字段),相当于自增列会被置为初始值,又重新从1开始记录,而不是接着原来的 ID数。而 delete 删除以后,identity 依旧是接着被删除的最近的那一条记录ID加1后进行记录。如果只需删除表中的部分记录,只能使用 DELETE语句配合 where条件

MySQL 数据类型

MySQL中定义数据字段的类型对你数据库的优化是非常重要的。
MySQL支持多种类型,大致可以分为三类:数值日期/时间字符串(字符)类型。

1. 数值类型

常用:

类型 大小 范围(有符号) 范围(无符号) 用途
TINYINT 1 字节 (-128,127) (0,255) 小整数值
INT或INTEGER 4 字节 (-2 147 483 648,2 147 483 647) (0,4 294 967 295) 大整数值
BIGINT 8 字节 (-9,223,372,036,854,775,808,9 223 372 036 854 775 807) (0,18 446 744 073 709 551 615) 极大整数值
FLOAT 4 字节 (-3.402 823 466 E+38,-1.175 494 351 E-38),0,(1.175 494 351 E-38,3.402 823 466 351 E+38) 0,(1.175 494 351 E-38,3.402 823 466 E+38) 单精度、浮点数值
DOUBLE 8 字节 (-1.797 693 134 862 315 7 E+308,-2.225 073 858 507 201 4 E-308),0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308) 0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308) 双精度、浮点数值
DECIMAL 对DECIMAL(M,D) ,如果M>D,为M+2否则为D+2 依赖于M和D的值 依赖于M和D的值 小数值

2. 日期和时间类型

常用:

类型 大小(字节) 范围) 格式 用途
DATE 3 1000-01-01/9999-12-31 YYYY-MM-DD 日期值
TIME 3 '-838:59:59'/'838:59:59' HH:MM:SS 时间值或持续时间
DATETIME 8 1000-01-01 00:00:00/9999-12-31 23:59:59 YYYY-MM-DD HH:MM:SS 混合日期和时间值

3. 字符串类型

常用:

类型 大小 用途
CHAR 0-255字节 定长字符串
VARCHAR 0-65535 字节 变长字符串
TEXT 0-65 535字节 长文本数据
LONGTEXT 0-4 294 967 295字节 极大文本数据

char、varchar、text使用笔记:

  1. 经常变化的字段用 varchar
  2. 知道固定长度的用 char
  3. 尽量用 varchar
  4. 超过 255 字符的只能用 varchar 或者 text
  5. 能用 varchar 的地方不用 text

MySQL数据处理

C 插入数据:

单行数据:
INSERT INTO table_name ( field1, field2,...fieldN )
                       VALUES
                       ( value1, value2,...valueN );

多行数据:
INSERT INTO table_name ( field1, field2,...fieldN )
                       VALUES
                       ( value1, value2,...valueN ),
                       ( value1, value2,...valueN ),
                       ( value1, value2,...valueN );
创建数据表:
CREATE TABLE table_name (column_name column_type);

U 更新数据:

UPDATE table_name SET field1=new-value1, field2=new-value2
[WHERE Clause]

R 查询数据

SELECT field1, field2,...fieldN FROM table_name1, table_name2...
[WHERE condition1 [AND [OR]] condition2.....

1. Like 子句
LIKE 子句中使用百分号 % 字符来表示任意字符,类似于UNIX或正则表达式中的星号 *
如果没有使用百分号 %, LIKE 子句与等号 = 的效果是一样的

SELECT * from runoob_tbl  WHERE runoob_author LIKE '%COM';

D 删除数据:

DELETE FROM table_name [WHERE Clause]

MySQL UNION 操作符

操作符用于连接两个以上的 SELECT 语句的结果组合到一个结果集合中。

SELECT expression1, expression2, ... expression_n
FROM tables
[WHERE conditions]
UNION [ALL | DISTINCT]
SELECT expression1, expression2, ... expression_n
FROM tables
[WHERE conditions];

MySQL 排序

1. 升序排列(默认):
SELECT * from runoob_tbl ORDER BY submission_date ASC;

2. 降序排列:
SELECT * from runoob_tbl ORDER BY submission_date DESC;

MySQL 分组

SELECT column_name, function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name;

使用 WITH ROLLUP
WITH ROLLUP 可以实现在分组统计数据基础上再进行相同的统计(SUM,AVG,COUNT…)。

MySQL创建数据库指定编码

CREATE DATABASE `mydb` CHARACTER SET utf8 COLLATE utf8_general_ci;

相关文章

  • Mysql从学会基础到学会放弃

    一、MySQL新增字段 1.单个字段 2. 批量增加字段 MySQL修改字段 1. 修改字段长度 2.修改字段的名...

  • 学会放弃..

    学会放弃 请学会放弃。 学会放弃,在落泪之前转身离去,给他留下潇洒的背影。 学会放弃,把昨天的故事埋藏在心底,给他...

  • Canvas 从进阶到退学

    本文简介 点赞 + 关注 + 收藏 = 学会了 接着 《Canvas 从入门到劝朋友放弃(图解版)》[https:...

  • 从学会撕,到学会沉默

    不知道为什么,人在某一个阶段就会去疯狂的想要证明自己的存在感。 对于不认同的观点想要去撕,不喜欢的妆容,想要大声的...

  • Android学习笔记——Recycler使用详解之基础篇

    今天来详细的学习RecyclerView的知识,从基础到详细的完全学会使用RecyclerView,首先是基础部分...

  • 零基础学会计,从哪里开始入手?

    很多朋友都曾问过这样的问题“我是零基础,想学会计,可以么?”“零基础可以从哪里开始学习呢?”…… 零基础学会计从哪...

  • 从听懂到学会

    孩子上课的时候说,懂了,明白了,但是课后自己做题的时候,仍然不会,成绩始终在中不溜,不上也不下,这...

  • mysql 从入门到放弃

    1. 关于SQL区分大小写 1.1 在Mysql数据库中进行查询时,希望英文严格区分大小写。默认情况下是不区分大小...

  • 2017-10-18

    你要学会独立 学会被他人放弃

  • 学会坚持,学会放弃

    很多时候,你那些义无反顾的执着,那些让你遍体鳞伤的坚持,最终都将成为浮云。 人最强大的时候,不是坚持的时候,而是放...

网友评论

      本文标题:Mysql从学会基础到学会放弃

      本文链接:https://www.haomeiwen.com/subject/juftmctx.html