SQL基础提升 CREATE新增
CREATE 新增
CREATE 可以为数据库新增对象
语法如下
CREATE ObjectType ObjectName
--ObjectType 是你要创建的对象了类型 ObjectName是你要创建的对象名称
新增数据库
如下: 创建一个数据库 (没有一个任务批量生成数据库的)
--创建一个名为 SQLName的数据库
CREATE DATABASE SQLName
--用于查找数据库中的所有数据库和表名
select * from sysdatabases;
新增数据库表
生成表
--直接生成一个表和列,其他由系统默认生成
CREATE TABLE MyTable (
s int,
name nchar,
age tinyint
DateOfbirth date
)
--需要注意的是如果你不确定你是否是在你想要操作的数据库中进行建表操作
--下面的语句可以帮你选中你想要操作的数据库
use SQLName --SQLName数据库
表生成成功如下图(如果没有出来就刷新,或者重连一下)
进阶*为列定义最大单位长度
CREATE TABLE MyTable (
s int(6), --定义数字长度为最大6位也就是说最大为999999
name nchar (10),--定义中文字符串字符长度为最大10个(一个中文字符占两个英文字符位置)
age tinyint --这个就不用了,本来最大也就255
DateOfbirth date(yyyymmdd)
)
数据类型(data_type)规定了列可容纳何种数据类型。下面的表格包含了SQL中最常用的数据类型:
数据类型 | 描述 |
---|---|
integer(size) , int(size) , smallint(size) , tinyint(size) | 仅容纳整数。在括号内规定数字的最大位数。 |
decimal(size,d) , numeric(size,d) | 容纳带有小数的数字。“size” 规定数字的最大位数。“d” 规定小数点右侧的最大位数。 |
char(size) | 容纳固定长度的字符串(可容纳字母、数字以及特殊字符)。在括号中规定字符串的长度。 |
varchar(size) | 容纳可变长度的字符串(可容纳字母、数字以及特殊的字符)。在括号中规定字符串的最大长度。 |
date(yyyymmdd) | 容纳日期。 |
为数据创建索引
索引被创建于已有的表中,它可使对行的定位更快速更有效。可以在表格的一个或者多个列上创建索引,每个索引都会被起个名字。用户无法看到索引,它们只能被用来加速查询。
要想数据库运行的更快,创建索引是必须的
但是更新一个包含索引的表需要比更新一个没有索引的表更多的时间,这是由于索引本身也需要更新。因此,理想的做法是仅仅在常常用于搜索的列上面创建索引。
唯一的索引 (Unique Index)
在表格上面创建某个一个唯一的索引。唯一的索引意味着两个行不能拥有相同的索引值。
语法
CREATE UNIQUE INDEX MyIndex --MyIndex索引名称
ON MyTable (s) --MyTable(表名称) s列名称
也可以省略UNIQUE 关键字,但省略了UNIQUE 关键字时,所建立的索引值就可以重复使用了如下
CREATE INDEX MyIndex --MyIndex索引名称
ON MyTable (s) --MyTable(表名称) s列名称
并且可以为多列创建索引
CREATE INDEX MyIndex
ON MyTable(s, age)