基本数据库操作(面试必背)

基本数据库操作(面试必背)

查询

  1. SELECT 列名称 FROM 表名称
  2. 删除重复值查询:SELECT DISTINCT 列名称 FROM 表名称
  3. 条件查询:SELECT 列名称 FROM 表名称 WHERE 列 运算符 值
  4. 连接WHERE 子语句:WHERE FirstName=‘Thomas’ AND LastName=‘Carter’
  5. 排序:SELECT Company, OrderNumber FROM Orders ORDER BY Company (DESC倒序)
  6. 插入:INSERT INTO table_name (列1, 列2,…可省略) VALUES (值1, 值2,…)
  7. 修改:UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值
  8. 删除:DELETE FROM 表名称 WHERE 列名称 = 值
  9. TOP 子句:mysql(SELECT TOP 2 FROM table_name)
    sqlserve/Orace(SELECT * FROM Persons LIMIT 5)
  10. 搜索像条件的数据:SELECT * FROM Persons WHERE City LIKE ‘N%’
  11. 一列中插多个数据:SELECT * FROM Persons WHERE LastName IN (‘Adams’,‘Carter’)
  12. 查询一定范围值得数据:SELECT column_name(s) FROM table_name WHERE column_name BETWEEN value1 AND value2
    join
  13. join:SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo FROM Persons, Orders WHERE Persons.Id_P = Orders.Id_P
  14. INNER join:SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo FROM 表1 INNER JOIN 表2 ON Persons.Id_P = Orders.Id_P ORDER BY Persons.LastName
  15. LEFT JOIN:从左表返回所有的行,即使在右表没有匹配的行。SELECT column_name(s) FROM 表1 LEFT JOIN 表2 ON 表1.column_name =表2.column_name
  16. RIGHT JOIN:从左表返回所有的行,即使在右表没有匹配的行。SELECT olumn_name(s) FROM 表1 LEFT JOIN 表2 ON 表1.column_name =表2.column_name
  17. FULL JOIN:只要其中某个表存在匹配, 关键字就会返回行。
  18. UNION:合并两个或多个 SELECT 语句的结果集
  19. 合并两个查询结果:SELECT column_name(s) FROM table_name1 UNION SELECT column_name(s) FROM table_name2 [允许重复的值,请使用 UNION ALL]

创建

  1. 创建数据库:CREATE DATABASE database_name
  2. 创建表:CREATE TABLE 表名称 ( 列名称1 数据类型, 列名称2 数据类型, 列名称3 数据类型, … )
  3. 创建一个唯一的索引:CREATE UNIQUE INDEX index_name ON 表名(列名)
  4. 创建视图:CREATE VIEW view_name AS SELECT column_name(s) FROM table_name WHERE condition

修改

  1. 表中添加列:ALTER TABLE table_name ADD column_name datatype
  2. 表中添加列:ALTER TABLE table_name DROP COLUMN column_name

删除

  1. 用于 Microsoft SQLJet (以及 Microsoft Access) 的语法:DROP INDEX index_name ON table_name
  2. 用于 MS SQL Server 的语法:DROP INDEX table_name.index_name
  3. 用于 IBM DB2 和 Oracle 语法:DROP INDEX index_name
  4. 删除表:DROP TABLE 表名称
  5. 删除数据库:DROP DATABASE 数据库名称
  6. 删除表:TRUNCATE TABLE表名称 (表的结构、属性以及索引也会被删除)

sql注入是做什么的

解释:为了防止用户输入sql语句的拼接,造成数据库查出登录用户的信息,而进入本网站
解决方法:
1.js里验证正则表达式 例如:限定单双引号,等号,括号
2.可以把sql语句变成存储过程的写作
3.在程序中有一个管理员的权限是最高,但是不要把管理员的权限通过数据库交给任何一个人
4.可以把机密的信息进行敏感查询和加密
5.把原始的数据库报错信息进行封装,不让用户看到
6.通过软件或在线平台进行sql注入检测

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zmsup

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值