mysql查询语句➳和oracle查询语句
mysql查询语句和oracle查询语句
首先是大体一致的,只是分页查询时oracle用的伪列(rownum),mysql用的是limit,具体的可以百度一下分页;
另外oracle对sql语句要求更为严格,而且oracle里变量较mysql更多点,oracle中有number型,有大数据类型,mysql没得;
另外举个例子,oracle不能插入为空列,而mysql是可以的(个人觉得,不知道正确与否)。还有他们两者函数有不同之处,如转日期函数oracle是to_date('要转的字符串','格式') — select to_date('2004-05-07 13:23:44','yyyy-mm-dd hh24:mi:ss') from dual,而mysql是str_to_date('08/09/2008', '%m/%d/%Y'); — 2008-08-09//都是针对字符串转日期来的。
还有一点,我们常常希望主键可以自动增长,避免我们插入数据时的重复问题,但是oracle不能设置列自动增长,而mysql是可以的,oracle可以用序列加触发器来解决自动增长问题达到与mysql一样的效果。
总体来说百分之九十的sql语句是没区别的。总体来说oracle的格式严格点,对有些字符型的还必须加单引号才能插入,mysql要求就没这么多了。还有当向数据库插入一个日期时,mysql可以直接插入成功,但是oracle需要先转化为sql里面的日期类型才行;oracle较mysql而言更安全,但是收费的,一般大公司用的多。oracle还有存储过程和函数,触发器这些这是mysql没有的。大体就是这样吧。
如果mysql社区版也收费,会有人用国产
难道现在社区版本不收费吗?
自学数据库,如何创建数据库表格
我们常用的数据库软件如: SQL Server 目前最新版本是SQL Server 2017,我目前使用最多的就是这个,标准版价格不高,还带由SSRS功能,非常实惠。
然后就是免费开源的MySQL,以及收费的Oracle软件。
下面以SQL Server 数据库进行操作,数据库表的创建有两种:一种是通过T-SQL语言生成表,另一种是通过图形化界面SSMS进行创建表。
首先,通过T-SQL语句创建表:
语句格式如下:
CREATE TABLE [ database_name . [ schema_name ] . | schema_name . ] table_name
( { } [ ,…n ] ) [ ; ]
::= column_name
[ IDENTITY [ ( seed,increment ) ]
[ NULL | NOT NULL ]
{ PRIMARY KEY | UNIQUE } | [ FOREIGN KEY ] REFERENCES referenced_table_name [ ( ref_column ) ]
说明:database_name : 要在其中创建表的数据库的名称。 database_name 须指定现有数据☺库的名称。 如果未指定,则 database_name 默◙认为当前数据库
schema_name : 新表所属架构的名称。默认“dbo”
table_name: 新表的名称。 表名必须遵循有关标识符的规则。 除了本地临时♝表名(以单个数字符号 (#) 为前缀的名称)不能超过 116 个字符外,table_name 最多可包含 128 个字符。
column_name: 列名称,且必须唯一。
data_type: 指定列的数据类型。
NULL | NOT NULL :指定列是否能为空值。
IDENTITY ( seed,increment ): 标识规范,seed为是装入表的第一行所使用的值, increment为增量
PRIMARY KEY : 是通过唯一索引对给定的一列或多列强制实体完整性的约束。 每个表只能创建一个 PRIMARY KEY 约束。
UNIQUE:唯一约束,该约束通过唯一索引为一个或多个指定列提供实体完整性。 一个表可以有多个 UNIQUE 约束。
FOREIGN KEY: 一个表中的 FOREIGN KEY 指向另一个表中的 PRIMARY KEY。
例子:
CREATE TABLE dbo.Student(
StudentNo int IDENTITY(1,1) NOT NULL primary key, –定义主键
StudentName nvarchar(20) NOT NULL,
Sex char(10) NOT NULL,
GradeId int NOT NULL,
phone nvarchar(50) NOT NULL,
BornDate datetime NOT NULL check(BornDate >'1980-01-01'),
Address nvarchar(255) NULL default('地✈址不详'),
Email nvarchar(50) NULL,
IDENTITYcard varchar(18) NULL unique
)
然后,通过SSMS创建表:
第一,在数据库中,在Table 上右键选择“New Table”,创建一个新的表。
然后在弹出的画面中数据要创建的字段,选择数据类型,是否允许为空等;
完成创建后,点击保存,在弹出的✃输入框中输入新建的表的名称,如:People。
然后点击“刷新”在对应的数据下的table中就可以看到新建立的表:dbo.People。
原创文章,作者:Ame,如若转载,请注明出处:https://www.lbseo.cn/13666.html