tsql,sql2012数据文件的默认大小是多少?
SQL Server 2012在创建数据库时,默认数据库文件大小为5MB。当然了这个默认值是可以修改的,可以通过t-sql语句来修改!
如何查看SQLServer的版本?
要查看SQL Server的版本,可以通过以下方法:
1. 打开SQL Server Management Studio(SSMS),使用管理员权限登录。
2. 在SSMS中,点击“新建查询”按钮,打开查询编辑器。
3. 在查询编辑器中,输入以下T-SQL语句,并执行:
```sql
SELECT @@VERSION
```
4. 执行完毕后,查询结果窗口将会显示SQL Server的版本信息,包括主版本号、次版本号、版本号和修订号等详细信息。
另外,如果您无法登录SQL Server Management Studio,也可以通过以下方法查看SQL Server的版本:
1. 打开“开始”菜单,找到“运行”或者直接在搜索栏中输入“运行”。
2. 在运行框中输入“cmd”,按下回车键,打开命令提示符窗口。
3. 在命令提示符窗口中输入以下命令,并按下回车键:
```sql
sqlcmd -S <server_name> -U <username> -P <password> -Q "SELECT @@VERSION"
```
其中,<server_name>是SQL Server的名称或者IP地址,<username>和<password>是登录SQL Server所需的用户名和密码。
4. 执行完毕后,命令提示符窗口将会显示SQL Server的版本信息。
pg数据库常用操作?
pg数据库的常用操作有以下几种:一、查询
1)查询进程:
select * from pg_stat_activity;
说明:
datname表示数据库名
procPID表示当前的SQL对应的PID
query_start表示SQL执行开始时间
current_query表示当前执行的SQL语句
waiting表示是否正在执行,t表示正在执行,f表示已经执行完成
client_addr表示客户端IP地址
2)kill进程:
kill有两种方式,
第一种是:
SELECT pg_cancel_backend(PID);
第二种是:
SELECT pg_terminate_backend(PID);
3)查询连接数
SELECT count(*) FROM (SELECT pg_stat_get_backend_idset() AS backendid) AS s;
二、授权
1)sequence授权,跟table授权有区别
grant usage,select on sequence <sequence_name> to <role>;
三、查询size
1、sql查询
postgres=# select pg_size_pretty(pg_database_size('postgres'));
2 、linux du查询
postgres=# SELECT oid from pg_database where datname='postgres';
oid
-------
21360
查看名称为21360的文件的大小即是数据库postgres的大小;
四、解锁,注意要先连接到表所在的database
\c &dbname
select distinct a.relname,b.pid from pg_class a,pg_locks b where a.oid=b.relation and b.granted=true and a.relname like '%&table_name%';
select pg_terminate_backend(&pid);
五、查询哪些表占用的空间大。
SELECT table_schema || '.' || table_name AS table_full_name,
pg_size_pretty(pg_total_relation_size('"' || table_schema || '"."' || table_name || '"')) AS size
FROM information_schema.tables
where table_name like '%awr%'
ORDER BY
pg_total_relation_size('"' || table_schema || '"."' || table_name || '"') DESC ;
与sql有什么关系吗?
我做了3年多的plsql开发和sql开发,这个问题很典型,我从通俗理解角度说下,以便能快速理解应用吧:
1、PL/SQL是一堆各种各样sql的集合,把他们打成一个程序包,这个程序包运行在服务器上,所以你就知道了,运行在服务器上的数据库后端程序(PL/SQL)运行效率很高。
plsql举例(通俗理解:包含了一堆逻辑的一堆sql,运行在服务器端):
if (day_count = 0) and (day_count_charge = 0) then
select seq_s_checkout_log.nextval into checkoutlog_id from dual;
insert into T_S_CHECKOUT_LOG
values(checkoutlog_id,
substr(to_char(systimestamp(6),'yyyymmddHH24missff6'),0,18),
0,0,1);
select seq_s_checkout_log.nextval into checkoutlog_id from dual;
insert into T_S_CHECKOUT_LOG
values(checkoutlog_id,
substr(to_char(systimestamp(6),'yyyymmddHH24missff6'),0,18),
0,0,2);
end if;
2、sql相对plsql功能单一,比如只执行查询,就执行更新等等。而plsql是一个程序块,里面包含了逻辑判断,比如:如果满足什么条件就执行查询操作,把查询结果赋予一个变量,当变量值达到100后将日志计入日志表等等。
sql举例(通俗理解:只执行插入或者更新,需要传输到服务器端后才能运行):
select max(nextval) from dual;
以上是从通俗案例方面的解释,方便快速理解,感兴趣加关注哦,有很多案例代码可送。也欢迎吐槽拍砖。以下是一个plsql实际案例的业务流程图:
sql查询每个用户的最新信息?
1、创建测试表,
create table test_log(user_id number, v_date date);
2、插入测试数据,
insert into test_log
select round(level/4), sysdate-level from dual connect by level<1000;
3、查询表中数据,一个用户会有多条时间记录,select t.*, rowid from test_log t;
4、编写sql,获取所需目标数据,每个用户只有最新一条记录;
select *
from (select t.*,
row_number() over(partition by user_id order by v_date desc) rn
from test_log t)
where rn = 1
order by user_id;