这个数据库触发器怎么写表的SQL应该是怎么写

扫二维码下载作业帮
拍照搜题,秒出答案,一键查看所有搜题记录
下载作业帮安装包
扫二维码下载作业帮
拍照搜题,秒出答案,一键查看所有搜题记录
SQL语句:表中记录的数据有学生姓名,性别,出生年月,但是查询要求的是姓名,性别和年龄,应该怎么写?
幻世萌qhwr
扫二维码下载作业帮
拍照搜题,秒出答案,一键查看所有搜题记录
什么数据库,不同数据库算年龄的写法不一样
问题是:在学生表中查询出所有学生的姓名,性别和年龄;但是那个学生表里面没有年龄这个数据,只有出生年月。
恩,你告诉我啥数据库吧
用当前时间减去出生年月是可以算出年龄的
所以就是不知道怎么减。。。源数据库? &这就是那个学生表。。。。
看不出来你这个是什么
年龄你先挨个试验吧
sqlserver:
select datediff(year,出生日期,getdate()) from 表名
SELECT year(date())-year(出生日期) from 表名
你先看看到底是什么数据库吧,每个数据库的语法都不同的,我只给你列了两种
access这个是对的。
但是应该怎么写整个的SQL语句呢?就是那个问题?
在学生表中查询出所有学生的姓名,性别和年龄
select 姓名,性别,year(date())-year(出生日期) from 表名
这样就好了呀
为您推荐:
其他类似问题
扫描下载二维码一条sql语句,三个表格,一对多,怎么写
SELECT a.acct_no ,a.name,COUNT(b.app_no) AS app,
SUM(IFNULL(b.app_amount,0)) AS app_amount,COUNT(IFNULL(c.ack_no,0)) AS ack,
SUM(IFNULL(c.ack_amount,0)) AS ack_amount FROM acct_info a,app_trans b LEFT JOIN ack_info c ON b.app_no = c.app_no&
WHERE a.acct_no = b.acct_no GROUP BY a.acct_no,a.name
不知道对不对
mysql的数据库sql server 2008 查询表名前面必须添加数据库名吗 - ITeye问答
数据库 mydb
表 myfirsttable
oracle下 下面语句直接就能运行了
select * from myfirsttable
在sql server 中必须要加库名才能执行
select * from mydb.myfirsttable
请问:在sql server中能直接执行“select * from myfirsttable”这样不添加库名的语句吗?需要怎么设置?
问题补充:huoyj 写道没玩过sqlserver,不过看网上别人写的查询语句也都没有加上库名,你装的sqlserver 2008不加库名没法查询嘛。提示“对象名 'xxx' 无效”
问题补充:public class SqlServer {
public static void main(String[] args) {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection conn = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;database=", "user", "pass");
Statement st = conn.createStatement();
ResultSet rs=st.executeQuery("select * from aa10");
while (rs.next()) {
System.out.println(rs.getString(1));
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
com.microsoft.sqlserver.jdbc.SQLServerException: 对象名 'aa10' 无效。
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.doExecuteStatement(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerStatement$StmtExecCmd.doExecute(Unknown Source)
at com.microsoft.sqlserver.jdbc.TDSCommand.execute(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeQuery(Unknown Source)
at pz.sms.SqlServer.main(SqlServer.java:15)
“select * from mydb.aa10”正确
问题补充:问题解决:
应该是权限设置问题
数据库--&安全性--&用户--&选择指向的用户--&属性--&默认架构以前是dbo更改为指向的用户;问题解决
感谢 huoyj、asyty 的帮助
兄弟,你写错语句了:
Connection conn = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;database=", "user", "pass");
改为:
Connection conn = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=", "user", "pass");
即,把database改为databaseName
如果是sql server命令行或命令行工具 不是要先输入命令
//使用数据库mydb
这样就不用输表名了
嗯? 比如jdbc里要访问sql server,配置的时候数据库路径为
"jdbc:microsoft:sqlserver://localhost:1433;databaseName=mydb",这样java代码里sql就直接select * from 表名就可以了吧
没玩过sqlserver,不过看网上别人写的查询语句也都没有加上库名,你装的sqlserver 2008不加库名没法查询嘛。
已解决问题
未解决问题sql语句中----删除表数据drop、truncate和delete的用法_西西软件资讯
西西软件园多重安全检测下载网站、值得信赖的软件下载站!
→ sql语句中----删除表数据drop、truncate和delete的用法
虽然西西不建议大家去用命令删除表中的东西,但是这些删除命令总有用的着的地方。说到删除表数据的关键字,大家记得最多的可能就是delete了然而我们做数据库开发,读取数据库数据.对另外的两兄弟用得就比较少了现在来介绍另外两个兄弟,都是删除表数据的,其实也是很容易理解的老大------drop出没场合:drop table &tb&--tb表示数据表的名字,下同绝招:删除内容和定义,释放空间。简单来说就是把整个表去掉.以后要新增数据是不可能的,除非新增一个表,& & & &例如:一个班就是一个表,学生就是表中的数据,学生的职务就是定义& & & &drop table class,就是把整个班移除.学生和职务都消失比如下面TestSchool数据库中有两张表[Classes]表和[Teacher]表当执行下面代码之后Classes表就被清楚,一干二净! 删除得非常暴力,作为老大实至名归老二-----truncate出没场合:truncate table tb绝招:删除内容、释放空间但不删除定义。与drop不同的是,他只是清空表数据而已,他比较温柔.& & & &同样也是一个班,他只去除所有的学生.班还在,职务还在,如果有新增的学生可以进去,也可以分配上职务删除内容很容易理解,不删除定义也很容易理解,就是保留表的数据结构上图就表现了:删除内容执行语句之后,发现数据表的结构还在,也就是不删除定义至于释放空间,看下下面两幅图.你们就会明白的右图:Id列标识列,因之前delete过行数据,所以会出现标识列不连续(体现了delete删除是不释放空间的)经过truncate table Teacher 之后 再新增三条数据右图:同样Id是标识列,发现插入数据的时候,标识列连续了(体现了truncate删除是释放空间)注意:truncate 不能删除行数据,要删就要把表清空老三-----delete出没场合:delete table tb &&--虽然也是删除整个表的数据,但是过程是痛苦的(系统一行一行地删,效率较truncate低)& & & & & & 或& & & & & & delete table tb where 条件绝招:删除内容不删除定义,不释放空间。三兄弟之中最容易欺负的一个然后关于delete的就不详细说明了,大家都懂的关于truncate的小小总结:truncate table 在功能上与不带 WHERE 子句的 delete语句相同:二者均删除表中的全部行。但 truncate 比 delete速度快,且使用的系统和事务日志资源少。delete 语句每次删除一行,并在事务日志中为所删除的每行记录一项。所以可以对delete操作进行roll back1、truncate 在各种表上无论是大的还是小的都非常快。如果有ROLLBACK命令Delete将被撤销,而&truncate&则不会被撤销。&2、truncate 是一个DDL语言,向其他所有的DDL语言一样,他将被隐式提交,不能对&truncate&使用ROLLBACK命令。&3、truncate&将重新设置高水平线和所有的索引。在对整个表和索引进行完全浏览时,经过&truncate&操作后的表比Delete操作后的表要快得多。&4、truncate&不能触发任何Delete触发器。&5、当表被清空后表和表的索引讲重新设置成初始大小,而delete则不能。&6、不能清空父表
09-2504-2810-2202-2102-1201-2401-1701-1201-1201-12
阅读本文后您有什么感想? 已有23人给出评价!
名称大小下载}

我要回帖

更多关于 数据库关联表怎么写 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信