sql常用九大命令语句

CREATE、ALTER 和 DROP 是 DDL。
使用 CREATE 创建表。
使用 ALTER 更改结构。
使用 DROP 删除表。

SELECT、INSERT、UPDATE 和 DELETE 都是 DML。
使用 SELECT 检查数据。
使用 INSERT 添加数据。
使用 UPDATE 更改数据。
使用 DELETE 删除数据。

GRANT 和 REVOKE 是 DCL。
使用 GRANT 授予权限。
使用 REVOKE 来获取权限。

不同数据库的语法是不同的。
MySQL 和 Oracle 是不同的。
您使用哪个数据库?

sql 中 insert 用法_sql 中 insert 插入数据技巧

哇,当我刚进入这个行业时,这些 SQL 插入语句真的很混乱。
但只要多练习,就会变得更好。
现在我将告诉你我的经历。

我记得有一年,我正在做一个外包项目。
我想给一个电商网站添加新功能,需要批量导入用户信息。
当时的数据库是MySQL,表结构是users,包含id(自增主键)、name、email等字段。
起初我只使用
sql INSERT INTO 用户值 ('李思', 'lisi@example.com');
这样输入的时候,有时结果会出错,有时会没有反应。
然后,我的老板告诉我必须指定字段名称,如下所示:
sql INSERT INTO user(name, email) VALUES ('李思', 'lisi@example.com');
只有这样它才会变得稳定。
你看,表结构稍微改变一下,不写字段名,很容易出问题,浪费调试时间。

然后我遇到了另一个问题。
我必须一次导入数百个用户,而且一一输入太慢了。
我采用的是一次插入多条记录的方法,效率高很多。
这是一个以逗号分隔的 VALUES 组合,如下所示:
sql 插入用户(姓名、电子邮件)值 ('wangwu', 'wangwu@example.com'), ('赵刘', 'zhaoliu@example.com'), ('qianqi', 'qianqi@example.com');
完成后,只需几秒钟。
在那个项目中,我的老板表扬了我。

然后,需要将活跃用户数据备份到另一个表中。
当时users表有几千条数据,所以我使用INSERT INTO ... SELECT语句将状态为'active'的用户插入到active_users_backup表中。
我记不清SQL语句了,可能是这样的:
sql INSERT INTO active_users_backup(name, email) 从用户中选择姓名、电子邮件,其中 status='active';
这个操作对于数据传输和报表很有用,非常实用。

最令人头痛的是防止重复入院。
记得有一次,一位前端同学不加考虑地写了代码,导致同一个邮箱地址被注册了两次,数据库报错。
然后,我教他如何使用MySQL的INSERT IGNORE。
语句为:
sql INSERT IGNORE INTO user(email, name) VALUES ('a@b.com', '小A');
如果该电子邮件已经存在,则该记录将被忽略并且不会报告错误。
但是,如果您想在重复时更新特定字段,请使用 ON DUPLICATE KEY UPDATE,如下所示:
sql INSERT INTO user(email, name) VALUES ('a@b.com', '小A') ON UPDATE KEY 2 name='小A';
这只能与 UNIQUE(电子邮件)索引一起使用。
当时正因为如此,我给表添加了UNIQUE约束,解决了重复插入的问题。

我还用过PostgreSQL的ON CONFLICT,ON CONFICT决定了冲突的处理方式。
我记得这是关于冲突(电子邮件)不要做任何事情。
感觉与 MySQL ON DUPLICATE KEY UPDATE 类似,但具体情况有所不同。
我不经常使用SQL Server的MERGE语句,所以我不敢谈论它。

一般来说,如果你经常使用 INSERT 语句,你自然会习惯这种技术。
主要是根据场景选择合适的方法,不要盲目使用。
你看,我学到的这些小东西都是从踩进陷阱中学到的。

sql语句insert怎么用

直接使用 SQL INSERT 语句。
步骤如下: 1 . 写出完整的表名称,后跟列名称。
2 . 为值类型对中的字符串添加引号。
3 .避免特殊字符,使用双引号代替单引号。
4 . 使用DEFAULT 作为默认值。
5 . 批量插入并用逗号分隔行。
6 . 插入子查询,SELECT 后跟 FROM。
7 、列名和值排序,顺序不打乱。
8 .非空列不能为空,可以用默认值或值填充。
你自己掂量一下。