文章目录
一、MySQL与SQL的区别
1. 标识符
MySQL:使用 中括号[ ]
SQLServer:使用 `(英文键盘的~)
2. DateTime类型取值范围
MySQL:文档介绍是1000/1/1 -9999/12/31, 但是0001/1 00:00:00添加成功
SQLServer:1753年1月1日至9999年12月31日,若超出范围报错 “SqlDateTime溢出,必须介于 1/1/1753 12:00:00 AM 和 12/31/9999 11:59:59 PM之间”
3. 数据类型
MySQL:不存在nchar、nvarchar、ntext类型
SQLServer:存在nchar、nvarchar、ntext类型
4. 数据类型默认值
类型名 | MySQL | SQL |
---|---|---|
值类型 (int、bigint) | 0 | ((0)) |
字符串 (char、varchar) | empty string | (’’) |
text | 无 | ‘’ |
dateTime | ‘2000-01-01 00:00:00’ | (‘2000-01-01 00:00:00’) |
bit | b(‘0’) | ((0)) |
5. 分页语句
MySQL:
Limit PageNum-1,PageSize
SQLServer:
OFFSET (PageNum-1)*PageSize ROWFETCH NEXT PageSize ROW ONLY
6. 获取当前时间
MySQL: getdate( )
SQLServer:now( )
7. 创建表语句
MySQL:
CREATE TABLE IF NOT EXISTS
runoob_tbl
(
runoob_id
INT UNSIGNED AUTO_INCREMENT,
runoob_title
VARCHAR(100) NOT NULL,
runoob_author
VARCHAR(40) NOT NULL,
submission_date
DATE,
PRIMARY KEY (runoob_id
)
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
- 主键递增语句:AUTO_INCREMENT
SQLServer:
CREATE TABLE Persons
(
PersonID int IDENTITY(1,1),
LastName varchar(255),
FirstName varchar(255),
Address varchar(255),
City varchar(255)
);
- 主键递增语句:IDENTITY(1,1)
8. 删除已存在表语句
MySQL:
DROP TABLE IF EXISTS cdb_forums;
SQLServer:
IF object_ID(‘DailyPlan’,‘U’)is not null
Drop table DailyPlan; --删除
9. 插入语句
MySQL:
insert into Table() Values()–> 执行成功
insert into Table() Values(),()–> 执行成功
SQLServer:
insert into Table() Values() -->报错 ')'附近错误
insert into Table() Values(),()–>报错 ')'附近错误
10. 连接字符串
MySQL:
连接字符串 | Database=x; 数据库名称
Data Source=x; --服务器
User Id(uid)=bizhi; --用户名
Password=x; --密码
pooling=false; –
harSet=utf8; --编码
port=x --端口
SQLServer:
Initial Catalog(database)=x; --数据库名称
Data Source(source)=x; --服务器
Persist Security Info=True; --集成sql server身份验证
Integrated Security=True --集成windows身份验证
User ID(uid)=x; --用户名
Password(pwb)=x; --密码