mysql是什么、要掌握的要点:
数 据 库 的 创 建(CREATE DATABASE语句)
在创建表之前,一定要先创建用来存储表的数据库。运行CREATE DATABASE语句就可以在RDBMS上创建数据库了。CREATE DATABASE语句的语法如下所示A。
语法1-1 创建数据库的CREATE DATABASE语句
CREATE DATABASE <数据库名称>;
这里我们将数据库命名为shop, 创建数据库shop的CREATEDATABASE语句CREATE DATABASE shop;此外,数据库名称、表名以及列名都要使用半角字符(英文字母、数字、符号),具体内容随后会进行介绍。
表的创建(CREATE TABLE语句)创建好数据库之后,接下来我们使用CREATE TABLE语句在其中创建表。CREATE TABLE语句的语法如下所示
创建表的CREATETABLE语句
CREATE TABLE <表名>
(<列名1> <数据类型> <该列所需约束>,<列名2> <数据类型> <该列所需约束>, <列名3> <数据类型> <该列所需约束>, <列名4> <数据类型> <该列所需约束>, . . .
<该表的约束1>, <该表的约束2>,... ... );
创建Product表的CREATETABLE语句
CREATE TABLE Product
(product_id CHAR(4) NOT NULL,product_name VARCHAR(100) NOT NULL,
product_type VARCHAR(32) NOT NULL,
sale_price INTEGER ,purchase_price INTEGER ,
regist_date DATE , PRIMARY KEY (product_id));
命名规则
我们只能使用半角英文字母、数字、下划线(_)作为数据库、表和列的名称。
数据类型的指定
Product表所包含的列,定义在CREATETABLEProduct( )的括号中。列名右边的INTEGER或者CHAR等关键字,是用来声明该列的数据类型的,所有的列都必须指定数据类型。
数据类型表示数据的种类,包括数字型、字符型和日期型等。每一列都不能存储与该列数据类型不符的数据。声明为整数型的列中不能存储'abc'这样的字符串,声明为字符型的列中也不能存储1234这样的数字。
数据类型的种类很多,各个RDBMS之间也存在很大差异。根据业务需要实际创建数据库时,一定要根据不同的RDBMS选用最恰当的数据类型。在学习SQL的时候,使用最基本的数据类型就足够了。下面我们就来介绍四种基本的数据类型。
●INTEGER型用来指定存储整数的列的数据类型(数字型),不能存储小数。
●CHAR型CHAR是CHARACTER(字符)的缩写,是用来指定存储字符串的列的数据类型(字符型)。可以像CHAR(10)或者CHAR(200)这样,在括号中指定该列可以存储的字符串的长度(最大长度)。字符串超出最大长度的部分是无法输入到该列中的。RDBMS不同,长度单位也不一样,既存在使用字符个数的情况,也存在使用字节长度A的情况。
字符串以定长 字 符 串的形式存储在被指定为CHAR型的列中。所谓定长字符串,就是当列中存储的字符串长度达不到最大长度的时候,使用半角空格进行补足。例如,我们向CHAR(8)类型的列中输入'abc'的时候,会以'abc'(abc后面有5个半角空格)的形式保存起来。另外,虽然之前我们说过SQL不区分英文字母的大小写,但是表中存储的字符串却是区分大小写的。也就是说,'ABC'和'abc'代表了两个不同意义的字符串。
●VARCHAR型同CHAR类型一样,VARCHAR型也是用来指定存储字符串的列的数据类型(字符串类型),也可以通过括号内的数字来指定字符串的长度(最大长度)。但该类型的列是以可 变长 字 符 串的形式来保存字符串的B。定长字符串在字符数未达到最大长度时会用半角空格补足,但可变长字符串不同,即使字符数未达到最大长度,也不会用半角空格补足。例如,我们向VARCHAR(8)类型的列中输入字符串'abc'的时候,保存的就是字符串'abc'。该类型的列中存储的字符串也和CHAR类型一样,是区分大小写的
约束的设置约束是除了数据类型之外,对列中存储的数据进行限制或者追加条件的功能。Product表中设置了两种约束。
Product表的product_id列、product_name列和product_type列的定义如下所示。product_id CHAR(4) NOT NULL,product_name VARCHAR(100) NOT NULL,product_type VARCHAR(32) NOT NULL,数据类型的右侧设置了NOT NULL约束。NULL是代表空白(无记录)的关键字A。在NULL之前加上了表示否定的NOT,就是给该列设置了不能输入空白,也就是必须输入数据的约束(如果什么都不输入就 会 出 错 )。这样一来,Product表的product_id(商品编号)列、product_name(商品名称)列和product_type(商品种类)列就都成了必须输入的项目。另外,在创建Product表的CREATETABLE语句的后面,还有下面这样的记述。PRIMARY KEY (product_id)这是用来给product_id列设置主键约束的。所谓键,就是在指定特定数据时使用的列的组合。键种类多样,主键(primary key)就是可以特定一行数据的列B。也就是说,如果把product_id列指定为主键,就可以通过该列取出特定的商品数据了。反之,如果向product_id列中输入了重复数据,就无法取出唯一的特定数据了(因为无法确定唯一的一行数据)。这样就可以为某一列设置主键约束了。
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态