我看不到找到差异的快速解释,所以我可以找出使用哪些.
一个用于服务器,一个用于数据库?我不知道这意味着什么..
基本上我们正在做一个新的Web应用程序,我想看看这些项目类型可以在跟踪数据库代码/架构等方面为我提供什么.
因此,让我先说一下,我不是一个SQL向导.我想要做的是作为一个概念简单,但在尝试最小化我正在执行的数据库查询量时给了我一个小小的挑战.
假设我有一个部门表.每个部门都有一份员工清单.
列出所有部门以及每个部门中哪些员工的最有效方式是什么.
因此,例如,如果我有一个部门表:
id name
1 sales
2 marketing
Run Code Online (Sandbox Code Playgroud)
还有一张人员表:
id department_id name
1 1 Tom
2 1 Bill
3 2 Jessica
4 1 Rachel
5 2 John
Run Code Online (Sandbox Code Playgroud)
列出所有部门和每个部门所有员工的最佳方式是这样的:
销售
营销
假装两张桌子实际上都很庞大.(我想避免获取部门列表,然后循环遍历结果并为每个部门执行单独查询).当状态和注释存储在单独的表中时,类似地考虑在类似Facebook的系统中选择状态/注释.
是否有(或多或少)标准方法不仅检查名为mytableexists 的表是否存在,还检查其模式是否与它应该是什么类似?我正在试验H2数据库,并且
CREATE TABLE IF NOT EXISTS mytable (....)
Run Code Online (Sandbox Code Playgroud)
声明显然只检查表的名称.如果有一个具有给定名称但具有不同模式的表,我希望得到一个例外.
有谁知道从INSERT查询中删除字段名称是否会带来一些性能改进?
我的意思是:
INSERT INTO table1 VALUES (value1, value2, ...)
Run Code Online (Sandbox Code Playgroud)
更快地完成数据库而不是这样做:
INSERT INTO table1 (field1, field2, ...) VALUES (value1, value2, ...)
Run Code Online (Sandbox Code Playgroud)
?
我知道这可能是一个毫无意义的性能差异,但只是要知道.
我通常使用MySQL和PostgreSQL作为DB.
我在我的网站上到处都使用Django Paginator,甚至还写了一个特殊的模板标签,以使它更方便.但现在我进入了一个状态,我需要在其中创建一个复杂的自定义原始SQL查询,没有LIMIT将返回大约100K记录.
如何在自定义查询中使用Django Pagintor?
我的问题的简化示例:
我的模特:
class PersonManager(models.Manager):
def complicated_list(self):
from django.db import connection
#Real query is much more complex
cursor.execute("""SELECT * FROM `myapp_person`""");
result_list = []
for row in cursor.fetchall():
result_list.append(row[0]);
return result_list
class Person(models.Model):
name = models.CharField(max_length=255);
surname = models.CharField(max_length=255);
age = models.IntegerField();
objects = PersonManager();
Run Code Online (Sandbox Code Playgroud)
我在Django ORM中使用pagintation的方式:
all_objects = Person.objects.all();
paginator = Paginator(all_objects, 10);
try:
page = int(request.GET.get('page', '1'))
except ValueError:
page = 1
try:
persons = paginator.page(page)
except (EmptyPage, InvalidPage):
persons = paginator.page(paginator.num_pages)
Run Code Online (Sandbox Code Playgroud)
这样,Django变得非常聪明,并 …
我需要在特定的表中找到列,这没有问题:
SHOW COLUMNS FROM tablename LIKE '%ColumnPrefix%';
Run Code Online (Sandbox Code Playgroud)
但是我需要知道它们将被返回的顺序,最好选择按字母顺序排序结果.我没有运气使用ORDER BY.
有任何想法吗?
我的数据库中有一个表有很多记录,有些记录对其中一个列共享相同的值.例如
| id | name | software |
______________________________
| 1 | john | photoshop |
| 2 | paul | photoshop |
| 3 | gary | textmate |
| 4 | ade | fireworks |
| 5 | fred | textmate |
| 6 | bob | photoshop |
Run Code Online (Sandbox Code Playgroud)
我想通过使用SQL语句返回最常见的软件的价值.
因此,在上面的示例中,所需的SQL语句将返回"photoshop",因为它比任何其他软件都要多.
这可能吗?
感谢您的时间.
我正在开发一个ASP.Net项目,用于在数据库中显示网站上的信息.我想从新闻表中选择前10项,但跳过第一项,我遇到了一些问题.
<asp:SqlDataSource ID="SqlDataSource1"
runat="server" ProviderName="System.Data.SqlClient"
ConnectionString="<%$ ConnectionStrings:ClubSiteDB %>"
SelectCommand="SELECT top 5 [id],
[itemdate],
[title],
[description],
[photo]
FROM [Announcements] order by itemdate desc">
</asp:SqlDataSource>
Run Code Online (Sandbox Code Playgroud)
这是我到目前为止,但我无法在网上找到有关如何跳过记录的任何信息
我有三张桌子
岗位
ID Name
1 'Something'
2 'Something else'
3 'One more'
Run Code Online (Sandbox Code Playgroud)
评论
ID PostId ProfileID Comment
1 1 1 'Hi my name is'
2 2 2 'I like cakes'
3 3 3 'I hate cakes'
Run Code Online (Sandbox Code Playgroud)
轮廓
ID Approved
1 1
2 0
3 1
Run Code Online (Sandbox Code Playgroud)
我想计算批评评论的个人资料的评论
我可以从Post中选择数据,然后从Comment fine中加入一个计数.但是这个计数应该取决于配置文件是否被批准.
我期待的结果是
CommentCount
PostId Count
1 1
2 0
3 1
Run Code Online (Sandbox Code Playgroud) 我有一个如下查询
declare @str_CustomerID int
Insert into IMDECONP38.[Customer].dbo.CustomerMaster
( CustomerName , CustomerAddress , CustomerEmail , CustomerPhone )
values ( ‘werw12e’ , ‘jkj12kj’ , ‘3212423sdf’ , ‘1212121?
)
select @str_CustomerID= scope_identity()
Run Code Online (Sandbox Code Playgroud)
执行后,它在我的参数中返回null.
我想获得身份的价值.我怎样才能做到这一点?
这里的主要问题是"IMDECONP38" - 我使用的服务器名称.如果我删除它,我可以在我的参数中获取身份的值.
sql ×10
database ×3
mysql ×3
sql-server ×2
asp.net ×1
count ×1
create-table ×1
django ×1
h2 ×1
identity ×1
join ×1
pagination ×1
performance ×1
python ×1
sql-order-by ×1