新增数据:

INSERT

语法:

INSERT [INTO] [列名] VALUES;

INSETR INTO 表名(列名1,列名2) VALUES(值1,值2);

如果INSETR语句中不写列名,则默认是向表中的所有字段添加值。

(此时输入数据数量要等同于列的数量,否则会报错,数据库对插入的数据是否有效进行了完整的校验)

字符串需要以‘’或者“”“”来括起

字符会自动转换成数字插入

INSERT INTO SELECT

INSERT [INTO] [列名] SELECT [源列名] FROM ;

INSERT INTO 表名 (列名1,列名2) SELECT 源列名1,源列名2 FROM 源表名;

1.每次插入一行数据,不可能只插入半行或者几列数据,因此,插入的数据是否有效将按照整行的完整性的要求来检验

INSERT INTO students (s_id,s_name,age) VALUES (‘小明')

2.每个数据值的数据类型、精度和小数位数必须与相应的列匹配

insert into students(s_id,s_name,age) values(1001,123, 'asd');

insert into students(s_id,s_name,age) values(1001,123, '100');

insert into students(s_id,s_name,age) values(1001,123, '255');

3.如果在设计表的时候就指定了某列不允许为空,则必须插入数据;

insert into students(s_id) values(1001); 错误

4.具有缺省值的列,可以使用DEFAULT(缺省)关键字来代替插入的数值

常见错报错类型:

[Err] 1136  - Column cout doesn't match value count at row 1

INSERT语句中没有输入列名且列多值少 报错 数据库对插入的数据是否有效进行了完整性的校验

[Err] 1265 - Data truncated for column '...' at row 1

数值类型或长度不符合列名设置

[Err] 1364 -Field 's_name' doesn't have a default value

如果字段设置了 NOT NULL 则必须插入。或者设置DEFAULT值

修改数据

UPDATE

语法:

UPDATE SET  [WHERE ]

UPDATE 表名 SET 列名1=值1,列名2=值2 .... WHERE 列名=值;

不带where条件会导致全量更新

叙述:

where 子句是判断语句,用来设定条件,限制只更新匹配的行,如果 不带where子句,则更新所有行数据。

例如:

update students set age=23,height=185 where s_name='火狐';

删除数据

DELETE

语法:

DELETE FROM [WHERE ]

叙述:

此语句删除表中的行,如果不带where子句,则删除整个表中的记录 但是表不被删除

DELETE FROM ; 删除表里的所有数据,表结构还在。

TRUNCATE TABLE ; 删除表里的所有数据,但不会显示删除的数据行数,不能够做筛选。直接进行整表删除,表结构还在。

DORP TABLE ; 删除表。表结构不存在。

查询数据

SELECT

语法:

SELECT FROM [WHERE ];

1、查询学生的学号(s_id) ,姓名(s_name)

SELECT s_id,s_name FROM students;

2、查询姓名为‘CMCC’的学号和性别信息

SELECT s_id,s_sex FROM students WHERE s_name='CMCC';

3、查询表里的所有列 (使用*号)

方法1:SELECT * FROM students; // 用*表示所有列

方法2:SELECT s_id,s_name,age,height,sex,class_id,birthday,s_desc FROM students; // 把所有列的列举出来

4、给列起别名:SELECT 列名1 [AS] 列别名1,列名2 [AS] 列别名2... FROM 表名;

SELECT s_name AS ‘学员姓名’,s_id AS ‘学员编号’ FROM students;

5、给表起别名: SELECT 表别名.列名1.列名2 FROM 表名 表别名;

SELECT s.s_id,s.s_name FROM students s;

补充:

MySQL中使用SQL语言几点说明

属于一个SQL语句,使用分号(;)结尾,否则mysql认为语句没有输入完。

箭头(->)代表SQL语句没有输入完

取消SQL语句使用(\c)

SQL语句关键字和函数名不区分大小写(Linux区分,Windows不区分)

使用函数时,函数名和后面的括号之间不能有空格

说明:

表和字段的引用方式有两种:绝对引用和相对引用

绝对引用:数据库名.表名(.字段名)

mysql> select school.students.s_name from school.students;

相对引用:表名.(字段名)

mysql> select students.s_name from school.students;

mysql数据库增删改查关键字_Mysql数据库,增删改查笔记(非常重要)-阿里云开发者社区...相关推荐

  1. mysql 视图会走索引吗_MySQL视图索引与存储过程精析-阿里云开发者社区

    1.MySQL分页查询 1.1 limit函数: SELECT * FROM emp LIMIT 3 –只查询三条数据,其他忽略 1.2 select * from emp order by empn ...

  2. 如何看pg数据库版本号_pg版本是什么-和pg版本相关的问题-阿里云开发者社区

    关于 pg版本的搜索结果 问题 DMS for PG 的版本 还停留在 1.7.0,发布日期是 2018-1-10,一年多了没有发布新版本了,DMS for PG 有没有更新计划? DMS for P ...

  3. mysql 查询速度不稳定_mysql严重查询速度的问题一则-阿里云开发者社区

    之前用mysql一直也没觉得有特别慢的感觉,最近发现新开发的系统有个页面打开速度非常慢,有时候1分钟都打不开.查了一下系统,定位到是一条sql语句执行慢造成的.该sql如下: SELECT COUNT ...

  4. mysql 慢_MySQL很慢... 怎么破??-阿里云开发者社区

    老王:最近我的MySQL数据库很慢.... 很忧伤,这可肿么办? 帅萌:老王,老王你莫心慌,听我跟你唠~ MySQL性能有问题,先应该关注的是慢查询日志(slow log). MySQL性能慢,多半是 ...

  5. 阿里云 mysql 太慢_MySQL很慢... 怎么破??-阿里云开发者社区

    老王:最近我的MySQL数据库很慢.... 很忧伤,这可肿么办? 帅萌:老王,老王你莫心慌,听我跟你唠~ MySQL性能有问题,先应该关注的是慢查询日志(slow log). MySQL性能慢,多半是 ...

  6. mysql 字段类型设计_Mysql字段类型设计相关问题!-阿里云开发者社区

    Mysql是以文件存储在我们的系统的硬盘上面,那么 (1)当我们读取写入的时候就会有磁盘IO的问题 (2)当我们存储的数据是以页单位存储,而且每页的大小是16K,那么我们要尽可能的让我们的一页数据存放 ...

  7. 存储过程mysql into select into_mysql 存储过程select into select into select的搜索结果-阿里云开发者社区...

    对一个MySQL存储过程的优化 在编写MySQL存储过程的过程中,我们会时不时地需要对某些存储过程进行优化,其目的是确保代码的可读性.正确性及运行性能.本文以作者实际工作为背景,介绍了对某一个MySQ ...

  8. canal同步mysql到kafka_使用Canal同步MySQL数据到Kafka 得到的数据中sql字段无值-问答-阿里云开发者社区-阿里云...

    这个应该跟你的binlog记录模式有关系,binlog有3中模式,ROW(行模式), Statement(语句模式), Mixed(混合模式)三种模式的用法如下: ROW(行模式):记录那条数据修改了 ...

  9. mysql 5.1版本无innodb trx_MySQL 5.7: Innodb 事务子系统优化-阿里云开发者社区

    MySQL5.7 : Innodb 事务子系统优化 之前写了篇博客介绍了Percona Server对Read View的优化,顺带简单提到了MySQL5.7的事务子系统优化,详细见http://my ...

  10. pg数据库生成随机时间_postgresql 时区与时间函数-阿里云开发者社区

    postgresql 时区与时间函数 rudygao 2016-02-03 1951浏览量 简介: --把时间戳转成epoch值 postgres=# select extract(epoch fro ...

最新文章

  1. 零基础入门NLP之搭建中文分词工具
  2. 【PAT甲级】11077 Kuchiguse (20 分) Java
  3. c++ linux 线程等待与唤醒_C++ Linux线程同步机制:POSIX信号量,互斥锁,条件变量...
  4. insert插入语句设置主键id回滚
  5. 深入学习webpack(四)
  6. Hadoop-2.6.0NodeManager Restart Recover实现分析(一)
  7. 极简darknet环境搭建记录
  8. 实战-全局唯一邀请码功能实现
  9. 征途LINUX服务端脚本技术,征途脚本高手进阶编写教程
  10. con和com开头单词
  11. 19.IIC通信:PCF8591:数模/模数转换芯片
  12. java 包扫描 —————— 开开开山怪
  13. Ubuntu 虚拟机的 wifi 连接图标上有个问号,网络用不了
  14. mysql mha etcd_postgresql 高可用 etcd + patroni 之四 failover
  15. h5实现地图定位签到
  16. Cron表达式范例:每隔5秒执行一次:*/5 * * * * ?
  17. 信息学奥赛真题解析(玩具谜题)
  18. mysql建表,主键,等
  19. 雷电模拟器一直android正在启动,雷电模拟器启动失败卡在0-29%怎么解决 加载卡0-29%教程...
  20. MapReduce的分片机制源码解析

热门文章

  1. 复合选择器-子选择器(HTML、CSS)
  2. 实验4-1-4 求整数的位数及各位数字之和 (15 分)
  3. 微信小程序API之map
  4. THREEJS - 自定义曲线绘制
  5. v-for和v-if一起使用的坑。。。
  6. Halcon学习路线——Blob分析(1)
  7. C# 计时工具 Stopwatch
  8. 数组的几种定义方式及初始化
  9. python中center()函数的用法
  10. 深入浅出TensorFlow(七)TensorFlow计算加速