美文网首页
操作数据表中的记录

操作数据表中的记录

作者: steamed_bun | 来源:发表于2016-11-19 08:26 被阅读0次

原始表user3

CREATE TABLE user3(
id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(20) NOT NULL,
password VARCHAR(32) NOT NULL,
age TINYINT UNSIGNED DEFAULT 10,
sex BOOLEAN
);

一、插入记录

1、标准插入

INSERT [INTO] table_name [(col_name,...)] [VALUES | VALUE] ({expr | DEFAULT},...) ,(...),...;

|----如果省略掉字段名,则所有字段都要赋值
e.g.

INSERT user3 VALUES (NULL,'WANG','123',21,1);
#由于id字段是自增的故设为null ,还可以写为DEFAULT
INSERT user3 VALUES (DEFAULT,'LI','456',76-62,1);
#插入的VALUES 也可是表达式、函数等等
INSERT user3 VALUES (DEFAULT,'LI','456',76-62,1),(NULL,'DDG',md5('345'),DEFAULT,0); 
#由于age字段有DEFAULT值,故可将其设置为DEFAULT
#md5()是一个函数

**为什么sex字段要设为1 **点此
2、INSERT [INTO] t1b_name SET col_name={expr | DEFAULT},...
相比较第一种而言,此方法可以使用子查询(SubQuery),一次只能插入一条记录,并不常用
3、 INSERT [INTO] tb_name [(col_name),...] SELECT ...
此方法是将SELECT查询结果插入相应的数据表中
创建新表

CREATE TABLE test (
id TINYINT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(20) NOT NULL
);

e.g.

INSERT INTO test(username) SELECT usernsme FROM user3 WHERE age > 22;
#将user3表中age大于22的记录的username插入表test中

二、更新数据表

1、更新记录(单表)

UPDATE [LOW_PRIORITY] [IGNORE] tb_reference SET col_name1={expr | DEFAULT } [,col_name2={expr | DEFAULT}]... [WHERE where_definition]

e.g.

UPDATE user3 SET age = age + 5;

在MySQL Workbench 中执行如果出现如下错误,点此,语句本身是正确的

Error Code: 1175. You are using safe update mode and you tried to update a table
 without a WHERE that uses a KEY column To disable safe mode, toggle the option in 
Preferences -> SQL Editor and reconnect.

其它e.g.

UPDATE user3 SET sex = 0 WHERE id % 2 = 0;
#将id为偶数的记录sex字段设置为0

注:priority [praɪˈɒrəti] 优先

三、删除记录

DELETE FROM tb_name [WHERE where_definition]

四、查询记录

SELOECT select_expr [,select_expr,...]
[
FROM tb_reference
[WHERE where_definition]
[GROUP BY {col_name | position} [ASC | DESC] ,...]
[HAVING where_condition]
[ORDER BY {col_name | expr | position}] [ASC | DESC,...]
[LIMIT {[offset,] row_count | row_count OFFSET offset}]
]

e.g.各种查询举例--还需添加

SELECT now();#查询当前时间
SELECT username AS un FROM user3;#将username起了一个别名,结果集列名为un
SELECT id,username FROM user3 GROUP BY id DESC;#将结果集分组按照id倒序排列
SELECT sex,age FROM  user3 GROUP BY sex HAVING age > 20;
#HAVING 是GROUP BY 的条件,注意条件如果不是聚合函数(max()、min())的话
#出现的字段必须在SELECT后面 例如age字段
SELECT * FROM user3 ORDER BY age DESC,id DESC;#对结果集进行排序,条件可以是多个
SELECT * FROM user3 LIMIT 2,2;
#特别注意MySQL结果集下标是从0开始的,所以当前语句查到的是第3、4条记录

子查询&多表更新 点此
多表连接&删除 点此
|----查找全部SELECT * FROM table_name; //* 是对字段的过滤
|----自动编号AUTO _INCREMENT 需注意必须与主键配合使用。

相关文章

  • 14.SQL语句设计

    操作数据表中的数据记录(DML语句) 使用INSERT语句向数据表中添加数据 插入数据是向已经存在的数据表中添加一...

  • MySQL学习笔记(三)修改操作、查询数据表

    操作数据表中的记录 插入操作 单表更新 单表删除 查询记录 where 条件表达式: 查询结果分组 GROUP B...

  • 7.MySQL入门

    1. 数据库操作 2. MySQL 管理 用戶管理 数据表操作 创建数据表 查看数据表 插入记录 更新記錄 刪除記...

  • Python 高级 14(2)数据库增删改查

    数据表操作、DDL 数据表的增删改、DML 数据表中数据的增删改、MySQL 常用字段类型 2.4 数据表操作 学...

  • 4、操作数据表中的记录

    语法结构: 示例: 4、操作数据表中的记录 4.1、插入记录的三种方法 4.1.1、 INSERT 语句 INSE...

  • MySQL的数据表操作

    数据表操作 每一张数据表都相当于一个文件,在数据表中又分为表结构与表记录。 表结构:包括存储引擎,字段,主外键类型...

  • 操作数据表中的记录

    insert users3 values(default,'tom','123',default,1);单个ins...

  • 操作数据表中的记录

    插入记录: insert 表名 values();自动编号的字段可以 赋值为nul 或 default in...

  • 操作数据表中的记录

    原始表user3 一、插入记录 1、标准插入 INSERT [INTO] table_name [(col_nam...

  • 2018-10-18

    DDL: 数据定义语言 用来定义数据库对象:创建库、表、列等 DML: 数据操作语言 用来操作数据表中的记录 DQ...

网友评论

      本文标题:操作数据表中的记录

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