mysql经常出问题_mysql中经常会遇到的一些问题

本文详细比较了SQL Server与MySQL在数据库约束(如唯一约束、默认约束)和时间函数(如getDate(), now())上的差异,以及自增字段的实现方式。此外,还探讨了两个数据库在创建存储过程时的语法区别,包括无参数、输入参数和输出参数的情况。
摘要由CSDN通过智能技术生成

mysql中一些约束和SQLServer 2005 中的区别:

Sqlserver:(唯一约束)

alter table t_name add constraint uq_name unique(column_name);

mysql:(唯一约束)

alter table t_name add constraint uq_name unique key(column_name);

Sqlserver:(默认约束)

alter table t_name add constraint df_name default(df_value) for column_name;

mysql:(默认约束)

数值默认

alter table t_name alter column column_name set default df_value;

-- 数字默认

alter table Student alter column stuAge set default 18;

-- 字符串默认约束

alter table Student modify stuAddress varchar(50) default '中国重庆';

取得当前时间:

sqlserver:getDate() mysql:now();

注意:

在mysql 中在建表是不支持系统时间函数,要用当前时间可采用以下方式

example:

create taber TestTime

(

id int auto_increment primary key,

nowtime timestamp(14) --14 代表YYYY-MM-DD hh:mm:ss

)

mysql中自增和sqlserver 中的区别

sqlserver:identity(1,1);

mysql:auto_increment;

mysql中创建存储过程和Sqlserver 中的区别:

无参或无输出参数的:

sqlserver:

create procedure pro_name

[变量1 类型1][变量1 类型1]....

as

sql........

go

mysql:

create procedure pro_name(变量名 变量类型)

sql.......

;

有输入参数的:

sqlserver:

create procedure pro_name

@a int,@b int output

as

sql......

go

注:在sqlserver 中有输出参数的在声明时和调用时都要标识成output

example:

declare @c int

execute pro_name @c output

print @c

go

mysql中:

5:创建存储过程

a:不带参数的

create procedure name()

select * from table_name;

执行存储过程

call name;

b:带输入参数的

create procedure name(变量名 变量的类型)

select * from table_name where 列名=变量名

执行

call name(值)

myslq 中的带输出参数的

example:

create procedure proc_test10(out time3 datetime,out time4 datetime)

set time3=(select nowtime1 from test2 where Id = 1),

time4 = (select nowtime1 from test2 where Id = 1);

delimiter    call proc_test10(@a,@b); select @a,@b;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值