SQL: Structured Query Language
不区分大小写,建议关键字大写,自定义字符小写
常用数据类型:int、double、varchar(50)、date(只有年月日,没有时分秒)
创建数据库:CREATE DATABASE 数据库名;
显示数据库:show databases;
使用数据库:USE 数据库名;
删除数据库:DROP DATABASE 数据库名;
创建数据表:
create table 表名(列名1 数据类型 约束,列名2 数据类型 约束,列名3 数据类型 约束);
主键约束:主键用于标识当前记录的字段,特点是非空、唯一性。一般主键不具备任何含义,只标识当前记录。
格式:1)创建表时创建主键,在字段后加 primary key
create table test( id INT PRIMARY KEY, ……)
添加自增长的主键格式为 id int primary key auto_increment,
2) 创建表时创建主键,在表创建的最后指定主键
create table test ( id int, username varchar(50), primary key(id) )
3)多字段联合主键:主键由多个字段联合组成。例如:
CREATE TABLE test ( name VARCHAR(25),
depId INT(11),
salary FLOAT,
PRIMARY KEY(name, depId) )
外键约束:两个表的数据间建立链接。作用:保持数据一致性、完整性。
注:1)外键可以为空值,若不为空值,则每一个外键值必须等于另一个表中主键的某个值。从表插入数据时会检查外键字段在主表中的主键字段中是否存在,若不存在则不能插入。
2)主表删除记录时会检查主键值在从表中是否存在,若从表外键存在相应值,则主表不能删除该记录。
3)外键可以不是本表的主键,但必须对应另外一个表的主键。
4)一个表中不能有相同名称的外键。
创建外键语法规则:
[CONSTRAINT <外键名>] FOREIGN KEY 字段名1 [,字段名2,...]
REFERENCES <主键名> 主键列1 [,主键列2,...]
例如上图所示外键的创建:创建父表:
CREATE TABLE parent (
学号 INT(10) PRIMARY KEY,
姓名 VARCHAR(30) NOT NULL,
身份证号 VARCHAR(20)
)
创建子表并添加外键约束: