一、数据库操作
1.创建数据库
语法:create database 数据库名 default character set utf8 collate utf8_general_ci;
注意:default character set utf8 collate utf8_general_ci;表示默认字符集为utf8,校验规则为utf8_general_ci,如果不设置的话,当向数据库中插入中文字符则会有不可预期的错误。
例子:创建student库
-- 创建student库
create database student default character set utf8 collate utf8_general_ci;
2.删除数据库
语法:drop database 数据库名;
例子:删除student库
drop database student;
二、表操作
1.创建表
语法:create table 表名( 字段名 数据类型, 字段名 数据类型, ... );
2.字段的约束
主键(primary key):
作用:值不能重复,auto_increment代表值自动增长
占位符:如果不指定字段,主键自增长字段的值可以用占位符0或者null
语法:create table 表名( 字段名 数据类型 primary key auto_increment, 字段名 数据类型, ... );
外键(foreign key):
作用:预防破坏表之间连接的动作;防止非法数据插入外键列
语法:create table 表名( 字段名 数据类型, 字段名 数据类型, ..., foreign key (字段名) references 另一张表的表名(另一张表的字段名) );
非空(not null):
作用:此字段不允许填写空值
语法:create table 表名( 字段名 数据类型 not null, 字段名 数据类型, ... );
唯一(unique):
作用:此字段的值不允许重复
语法:create table 表名( 字段名 数据类型 unique, 字段名 数据类型, ... );
默认值(default):
作用:当不填写此值时会使用默认值,如果填写时以填写为准
语法:create table 表名( 字段名 数据类型 default 值, 字段名 数据类型, ... );
举例一:创建表a,字段要求:id:数据类型为int(整数),主键,自增长;name 姓名:数据类型为varchar(字符串),长度为20;age 年龄:数据类型为tinyint unsigned(无符号小整数)。
/*创建表a,字段要求:id:数据类型为int(整数),主键,自增长;
name 姓名:数据类型为varchar(字符串),长度为20;
age 年龄:数据类型为tinyint unsigned(无符号小整数)*/
create table a(
id int primary key auto_increment,
name varchar(20),
age tinyint unsigned
);
-- 或
create table a(
id int,
name varchar(20),
age tinyint unsigned,
primary key auto_increment(id)
);
举例二:创建表b,字段要求:bid:数据类型为int(整数),a表的外键;score 分数:数据类型为int(整数)。
/*创建表b,字段要求:bid:数据类型为int(整数),a表的外键;score 分数:数据类型为int(整数)*/
create table b(
bid int,
score int,
foreign key (bid) references a(id)
);