注:所有的下划线+斜体语句都是非必须语句
数据库(Database)的创建:
- 数据库是若干具有相互关联关系的Table/Relation的集合
- 数据库可以看作是一个集中存放若干Table的大型文件
SQL语句:create database 数据库名;
注意SQL对大小写不敏感
表(Table)的创建:
SQL语句:Create table 表名(列名 数据类型 约束语句1, 列名 数据类型 约束语句……);
样例:Create Table Student(Sh char(8) not null, Sname char(10), Ssex char(2), Sage integer);
→SQL92标准中的数据类型:
- char(n):固定长度的字符串
- varchar(n):可变长字符串
- int:整数(不同系统可能写作integer)
- numeric(p, q):固定精度数字,小数点左边p位,右边p-q位
- real:浮点精度数字(不同系统可能写作float(n),小数点后保留n位)
- date:日期(例如2003-09-12)
- time:时间(例如23:15:03)
→部分约束语句:
- Primary key:主键约束,每个表只能创建一个主键约束
- Unique:唯一性约束(候选键),可以有多个
- Not null:非空约束,是指该列允许不允许有空值出现
向表中追加元组:
SQL语句:
Insert Into 表名(列名1, 列名2, ……)
Values(值1, 值2, ……);
样例:
Insert Into Course Values('001', '数据库', 40, 6);
- 如果列名省略,那么语句中的值必须和存储的列名顺序一一对应
Insert Into Course(Cname, C#, Credit, Chours) Values('数据库', '001', 6, 40);
- 如果列名未省略,那么语句中的值必须和声明的列名的顺序一一对应
MySQL Workbench 使用 (2):
在新建数据库SCT之后,需要选中该数据库
也可以使用 use 数据库名 的方式选中
否则新建Table时因为没有指定数据库而报错(错误信息:"Error Code: 1046. No database selected Select the default DB to be used by double-clicking its name in the SCHEMAS list in the sidebar.")
选中数据库方法:如图,或者双击
注意:所有语句一旦执行,永久生效
假设图中的3条语句成功执行,那么就相当于生成另一个数据库SCT,里面有一个包含一个元组的Table
Table名为"Student",左边的数据库列表可以查到详细信息