一、增update与insert的区别
更新原有数据
UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition;
UPDATE users SET salary = 5000, department = 'HR' WHERE id = 123;
更新了 users表中 id 为 123 的员工的薪资为 5000,部门为 'HR'。
插入新数据
INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);
第一种写作方式:
INSERT INTO users(id, name, salary, department) VALUES (123, 'John Doe', 5000, 'HR');
常见的数据库系统中,字符串用单引号括起来
第二种写作方式:
这是插入了一行id为123,名字为John Doe,薪水为5000,岗位为HR的新的数据,是在原有的数据后插入的一行新的数据
二、删
DELETE FROM table_name;
例(所有数据):DELETE FROM users; 删除列表中所有数据
还可以使用QSqlQuery检测是否成功删除
DELETE FROM table_name WHERE condition;
例(部分数据):DELETE FROM users WHERE name = 'John Doe'; 删除列表中名字叫John Doe的所有相关数据
三、改
UPDATE table_name SET name = 'Jane Smith' WHERE id = 1;
例:获取某控件中的文字并更改数据库中的内容
第一种
QSqlQuery query;
QString name = ui->fff_btn->text();
QString execString = QString("update users set id = %1 where id = 'admin').arg(name);
query.exec(execString);
第二种
QString name2 = ui->engineerName_label_2->text();
QSqlQuery query;
query.prepare("UPDATE users SET id = :name WHERE id = 'admin'");
query.bindValue(":name", name2); query.exec();
四、查
SELECT "id", "name" FROM "users";
SELECT id, name FROM your_table_name;意思从表中筛选出字段id和name的值,这里使用或者不使用双引号都行,是两种写法
SELECT * FROM users WHERE name = 'John Doe';
通配符*
来表示选择所有字段
从表table_name
中选择所有字段的记录,其中name
字段的值等于'John Doe'的记录。
SELECT name FROM table_name WHERE name = 'John Doe';
从表table_name
中选择name
字段的记录,其中name
字段的值等于'John Doe'的记录。
例:
注意:
双引号---双引号用于引用数据库对象的名称
单引号---单引号用于表示字符串值或字符常量
常见的数据库系统中,字符串用单引号括起来