Mysql和sqlServer命令比较
按语句功能划分,依次讲解
目录
一数据定义 2
1 数据库操作基本命令 2
2 CREATE TABLE --创建一个数据库表 2
2.1 PRIMARY KEY 约束(主键)区别解析: 2
2.1.1 创建primary key 2
2.1.2 撤销 PRIMARY KEY 约束 3
2.1.3 创建外健约束 3
2.1.4 撤销外健约束 4
2.2 UNIQUE 约束(唯一的,独一无二的)区别解析 4
2.2.1 创建UNIQUE约束 4
2.2.2 撤销 UNIQUE 约束 5
2.3 CHECK 约束 5
2.3.1 创建 CHECK约束 5
2.3.2 撤销 CHECK约束 6
2.4 DEFAULT 约束(系统默认值) 6
2.4.1 创建DEFAULT约束 6
2.4 .2 撤消DEFAULT约束 7
2.5 索引区别 7
2.6 主键自动增加的区别 7
2.7 MySQL支持enum,和set类型,SQL Server不支持 8
2.7.1 枚举enum 8
2.7.2 集合set 9
2.8 MySQL不支持nchar,nvarchar,ntext类型 10
3 DROP TABLE –删除一个数据库表 10
4 显示库表 11
5 alter 修改库表 11
二 数据操作 12
2.1 limit和top 12
2.2 ISNULL()函数 12
2.3 select查询 12
2.4 insert 插入 12
2.6 update 修改 12
2.7 delete 删除 13
三 语法定义 13
3.1 注释符区别 13
3.2 识别符的区别 13
3.3存储过程的区别(未经验证,从网上的) 13
3.4字符串连接 14
四 函数和数据类型的区别 14
4.1 Date 函数 14
五性能比较 15
一数据定义
1 数据库操作基本命令
Mysql:
create database name; 创建数据库
use databasename; 选择数据库
drop database name 直接删除数据库,不提醒 –
2 CREATE TABLE --创建一个数据库表
1
2
2.1 PRIMARY KEY 约束(主键)区别解析:
2.1.1 创建primary key
Mysql:
CREATE TABLE Persons
(
Id_P int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
PRIMARY KEY (Id_P) //声明主健写在最后
)
SqlServer:
CREATE TABLE Persons
(
Id_P int NOT NULL PRIMARY KEY, //声明主健 紧跟列后
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)
但是如果表存在,之后给表加主健时:
Mysql 和SqlServer
ALTER TABLE Persons ADD PRIMARY KEY (Id_P)
2.1.2撤销 PRIMARY KEY 约束
MySQL:
ALTER TABLE Persons DROP PRIMARY KEY
SQL Server
ALTER TABLE Persons DROP CONSTRAINT pk_PersonID
2.1.3 创建外健约束
MySQL:
CREATE TABLE Orders
(
O_Id int NOT NULL,
OrderNo int NOT NULL,
Id_P int,
PRIMARY KEY (O_Id),
FOREIGN KEY (Id_P) REFERENCES Persons(Id_P) //写在最后
)
SQL Server
CREATE TABLE Orders
(
O_Id int NOT NULL PRIMARY KEY,
OrderNo int NOT NULL,
Id_P int FOREIGN KEY REFERENCES Persons(Id_P) //顺序不同
)
如果在 "Orders" 表已存在的情况下为 "Id_P" 列创建 FOREIGN KEY 约束,请使用下面的 SQL:
MySQL / SQL Server
ALTER TABLE Orders ADD FOREIGN KEY (Id_P) REFERENCES Persons(Id_P)
2.1.4 撤销外健约束
MySQL:
ALTER TABLE Orders DROP FOREIGN KEY f k_PerOrders
SQL Server
ALTER TABLE Orders DROP CONSTRAINT fk_PerOrders
2.2 UNIQUE 约束(唯一的,独一无二的)区别解析
UNIQUE 约束唯一标识数据库表中的每条记录。
UNIQUE 和 PRIMARY KEY 约束均为列或列集合提供了唯一性的保证。
PRIMARY KEY 拥有自动定义的 UNIQUE 约束。
请注意,每个表可以有多个 UNIQUE 约束,但是每个表只能有一个 PRIMARY KEY 约束。
2.2.1 创建UNIQUE约束
MySQL:
CREATE TABLE Persons
(
Id_P int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
UNIQUE (Id_P) //写在最后
)
SQL Server
CREATE TABLE Persons
(
Id_P int NOT NULL UNIQUE, //紧跟列后
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)
2.2.2 foreign key references用法撤销 UNIQUE 约束
MySQL:
ALTER TABLE Persons DROP INDEX uc_PersonID
SQL Server
ALTER TABLE Persons DROP CONSTRAINT uc_PersonID
2.3 CHECK 约束
CHECK 约束用于限制列中的值的范围。
如果对单个列定义 CHECK 约束,那么该列只允许特定的值。
如果对一个表定义 CHECK 约束,那么此约束会在特定的列中对值进行限制。
2.3.1 创建 CHECK约束
下面的 SQL 在 "Persons" 表创建时为 "Id_P" 列创建 CHECK 约束。CHECK 约束规定 "Id_P" 列必须只包含大于 0 的整数。
My SQL:
CREATE TABLE Persons
(
Id_P int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
CHECK (Id_P>0) //写在最后
)
SQL Server
CREATE TABLE Persons
(
Id_P int NOT NULL CHECK (Id_P>0), //紧跟列后
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)
如果需要命名 CHECK 约束,以及为多个列定义 CHECK 约束,请使用下面的 SQL 语法:
MySQL / SQL Server:
CREATE TABLE Persons
(
Id_P int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
CONSTRAINT chk_Person CHECK (Id_P>0 AND City='Sandnes') //多个条件
)
如果在表已存在的情况下为 "Id_P" 列创建 CHECK 约束,请使用下面的 SQL:
MySQL / SQL Server:
ALTER TABLE Persons ADD CHECK (Id_P>0)
2.3.2 撤销 CHECK约束
Sqlserver:
ALTER TABLE Persons DROP CONSTRAINT chk_Person
Mysql我没有到怎么删除。
2.4 DEFAULT 约束(系统默认值)
DEFAULT 约束用于向列中插入默认值。
如果没有规定其他的值,那么会将默认值添加到所有的新纪录。
2.4.1 创建DEFAULT约束
下面的 SQL 在 "Persons" 表创建时为 "City" 列创建 DEFAULT 约束:
My SQL / SQL Server:
CREATE TABLE Persons
(
Id_P int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255) DEFAULT 'Sandnes' //紧跟列后,默认值字符串Sandnes
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论