1 增删改查是针对表来说的。

2 创建一个表

mysql> create table stu(
-> id int primary key auto_increment,
-> sname varchar(10) not null default '',
-> gender char(1) not null default '',
-> company varchar(20) not null default '',
-> salary decimal(6,2) not null default 0.00,
-> fanbu smallint not null default 0
-> )engine myisam charset utf8;

3如果在表中加入列,那么表的结构就发生了改变

4查看表的结构

desc 表名;

5插入数据

往那张表添加? stu

给那几列添加值? (id,sname,gender,company,salary,fanbu)

添加的内容是什么? (1,‘张三’,‘男’,‘百度’,8888.67,234)

mysql> insert into stu (id,sname,gender,company,salary,fanbu)
-> values (1,'张三','1','百度',8888.67,234);
Query OK, 1 row affected (0.43 sec)

部分插入

mysql> insert into stu (sname,gender,salary)
-> values ('李四','2',8765.43);
Query OK, 1 row affected (0.38 sec)

查看一下当前表的数据



在上例中,虽然没有插入id,但是id为自增类,所有值为2。

6 如果插入所有的列,则可以不声明待插入的列,即如果不声明插入的列,则理解为依次插入所有列。

7 有同学认为id是自增型的,插入时不必赋值,** 这是一种常见的错误,列与值必须按照顺序一一对应。**

8 连接服务器

G:\mysql-8.0.13-winx64\mysql-8.0.13-winx64\bin>mysql -uroot -p
Enter password: ******

9 一次性插入多行

mysql> insert into stu (sname,company,salary)
-> values
-> ('刘备','皇室成员',15.28),
-> ('孙策','江东集团',56.34),
-> ('曹操','宦官后代',88.66);
Query OK, 3 rows affected (0.53 sec)
Records: 3 Duplicates: 0 Warnings: 0

10 更改数据:考虑

改那张表?

你需要改哪几列的值?

在那些行生效?

典型的错误

mysql> update stu
-> set
-> fanbu = 1000;
Query OK, 6 rows affected (0.38 sec)

这种是非常危险的语句!会影响整张表



正确的用法


mysql> update stu
-> set
-> fanbu = 1
-> where id = 1;



where 后加的是表达式,只要表达式为真,则该行就发挥作用。

更改性别为女性(gender=2),且薪水大于8800(salary>8000)的,将其饭补改为200

mysql> update stu
-> set fanbu = 200
-> where gender = '2' and salary>8800;
Query OK, 1 row affected (0.33 sec)
Rows matched: 1 Changed: 1 Warnings: 0

11 修改/删除

删除就是删除整行,不存在删除一行中的某几列

删那张表的数据?

删那几行?

删除薪水大于8800的数据(salary>8800)

mysql> delete from stu
-> where salary>8800;
Query OK, 2 rows affected (0.32 sec)

注意下面的语句:

mysql> delete from stu;
Query OK, 4 rows affected (0.38 sec)

表没有删除,但是表中的所有数据都被删除了。

12 查询3要素

查那张表的数据?

查那些列?

mysql> select sname ,company,salary from stu where id=3;

查看所有行,所有列

mysql> select * from stu;

*代表所有列,表名后又不加where条件,则选所有行。因此取出了所有行所有列。

练习:

取id>3的列

 select * from stu where id>3;

取部分行,部分列

mysql> select sname,salary from stu where id<4;

where后面的是表达式,表达式为真,则执行

以上是最基本的增删改查,针对单个表来说。

MySQL学习(二)的更多相关文章

  1. MySql学习(二) —— where / having / group by / order by / limit 简单查询

    注:该MySql系列博客仅为个人学习笔记. 这篇博客主要记录sql的五种子句查询语法! 一个重要的概念:将字段当做变量看,无论是条件,还是函数,或者查出来的字段. select五种子句 where 条 ...

  2. MySQL学习(二)——SQL语句创建删除修改以及中文乱码问题

    一.对数据库的操作 1.创建一个库 create database 库名; 创建带有编码的:create database 库名 character set 编码; 查看编码:show create ...

  3. mysql学习二、SQL常用数据类型

    一.常用数据类型 二.选择数据类型的原则: 1 业务需要 2 满足第一个条件下,需要存储空间最小的. 三.常用的选择数据类型思路:

  4. MySQL学习(二)——MySQL多表

    分页操作:使用limit(参数1,参数2) 起始位置(参数1))*每页显示的条数(参数2) .分类表 create table category( cid ) primary key, cname ) ...

  5. MySQL学习(二): 数据类型记录

    整形: 浮点型: 日期时间:(使用较少,可能存在跨区域问题) 字符型: CHAR(M):定长,会将位数补充到M位 VARCHAR(M):非定长,最多到达M位 ENUM('v1','v2',...):从 ...

  6. MYSQL学习二 关于左连接

    工作中有如下的SQL, 针对A.ID ='abcdefg', left  join  B和C两个表,来查找其他信息.就算是B和C中没有任何满足条件的记录,最后结果也肯定不是空.因为A.ID ='abc ...

  7. 我的MYSQL学习心得(二) 数据类型宽度

    我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...

  8. 我的MYSQL学习心得(十二) 触发器

    我的MYSQL学习心得(十二) 触发器 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数 ...

  9. Mysql学习笔记(二)数据类型 补充

    原文:Mysql学习笔记(二)数据类型 补充 PS:简单的补充一下数据类型里的String类型以及列类型... 学习内容: 1.String类型 2.列类型存储需求 String类型: i.char与 ...

随机推荐

  1. sqlalchemy多对多查询

    # coding:utf-8 from sqlalchemy import create_engine, Column, String, Integer, ForeignKey, Table from ...

  2. bzoj5421:收藏家

    bzoj5421 贴一张图 关于对问题的转化: 当两个人交换收藏品时,显然我们进行这个操作是为了得到更优解. 那么一个收藏品是有用的,另一个被换走的收藏品可以当做直接扔掉了. 所以只要保留一个就可以了 ...

  3. Java开发人员必会的基本Linux命令(转)

    原文链接:http://www.cnblogs.com/zhuawang/p/5212809.html http://explainshell.com/ 本文并不会对所有命令进行详细讲解,只给出常见用 ...

  4. [c/c++] programming之路(1)、编写程序打开记事本、计算器等

    一.命令行启动程序 通过命令行关闭程序:taskkill /f /im 程序名.exe 二.打开记事本.计算器 #include <stdlib.h> void main(){ syste ...

  5. bzoj 4318 OSU! - 动态规划 - 概率与期望

    Description osu 是一款群众喜闻乐见的休闲软件.  我们可以把osu的规则简化与改编成以下的样子:  一共有n次操作,每次操作只有成功与失败之分,成功对应1,失败对应0,n次操作对应为1 ...

  6. 集训DAYn——组合数学(1)

    组合 又到了我们信息老师讲数学课了,吼吼吼 然后数学老师中途探望了一下,哇塞塞,然后他看到黑板上的题,微妙的笑了. 排列: 从n个数中有序的选出m个数的方案数是多少?第一个数有n种取法,第二个数有n- ...

  7. Btrfs管理及应用

    一.btrfs基本概念 btrfs文件系统是2007年Oracle开发,支持GPL协议,为了取代Linux早期的ext系列文件系统. btrfs核心特性: 多物理卷支持:btrfs可由多个底层物理卷组 ...

  8. 三星sm865

    目录 样张 SSD-Z: CrystalDiskInfo: CrystalDiskMark: AS-SSD Benchmark: 颗粒检查: 扇区信息: HD Tune Pro: 三星Magician ...

  9. List of 3rd Party .NET UI & Reporting Components

    https://www.codeproject.com/Reference/788434/List-of-rd-Party-NET-UI-Reporting-Components Introducti ...

  10. 【命令】MongoDB常用命令记录

    如果你想创建一个“myTest”的数据库,先运行use myTest命令,之后就做一些操作(如:db.createCollection('user')),这样就可以创建一个名叫“myTest”的数据库 ...