//mysql不区分大小写 但是所有符号必须是英文状态下的符号
一、//创建数据库语法:
mysql> CREATE DATABASE 数据库名称;
**案例1:**创建d_student数据库
图(1-1)
二、--删除数据库语法:
mysql> drop database 数据库名称;
**案例2:**删除d_sutdent数据库
图(1-2)
三、--切换数据库
use 数据库名称;
四、--创建数据库表语法:
create table 数据库表名(
字段名称1 数据类型[特性],--例如指定长度 int(10)
字段名称2 数据类型[特性],
...................
字段名称n 数据类型[特性]
);
4.1常用数据类型:
int(长度) 默认11位
varchar(长度) 长度可变字符串
double(数据位,精度) double(10, 2)
datetime 日期
**案例3:**创建学生表b_student,属性: 序号、学号、性别、年龄、姓名 并把序号设置为主键,自动增长。
create table b_student(
id int primary key auto_increment, --primary key设置主键 auto_increment设置自动增长
s_id int not null, --not null 不允许为空
s_sex char(2) not null, -- char(2) 指定字符长度
s_name varchar(20) not null -- 最后一个不要 " , "号 varchar(20) 可变字符长度 但是最大不能超过20个字符
);
案例4:-- 单列主键
create table student(
stu_id int primary key,
stu_name varchar(20) not null
);
单列主键 会判断所设置主键的值 是否唯一 不允许重复
案例5:-- 联合主键
create table student(
stu_id int,
stu_name varchar(20) not null,
stu_card_id int,
primary key(stu_id, stu_card_id)
);
联合主键 会判断所设置主键的值 的和 是否唯一 不允许重复
--例如下图(1-3):
图(1-3)
案例6:唯一约束
create table student(
stu_id int unique,
stu_name varchar(20) not null
);
案例7:默认约束: 给定一个默认值
-- 默认约束
create table student(
stu_id int unique,
stu_name varchar(20) not null,
stu_gender char(2) default '男'
);
4.2、外键约束: 多表关联的时候使用
一对一
一对多(多对一)
多对多
外键约束是约束某个表单的某个字段,在输入数据必须来自某个表的主键字段,通常这个外键约束是存在多表中,也可以单表
如果是多表,提供主键的表称为主表(父表), 设置外键的表称为从表(子表),所以要求, 在创建表时,必须先创建主表,再创建从表,
删除表时,必须先删除从表再删除主表。
语法:
constraint 约束名称 foreign key(外键字段)
reference 主键表名(主键字段)
案例8:
--先创建主表
CREATE TABLE class(
c_id int PRIMARY key auto_increment,
c_name VARCHAR(20),
);
--外键一般命名为 fk_外键字段_主键字段
CREATE TABLE student(
s_id int PRIMARY key auto_increment,
s_name VARCHAR(20),
s_age INT not null ,
s_classid int not null,
CONSTRAINT fk_c_id_s_classid FOREIGN key(s_classid)
REFERENCES class(c_id)
);
5、删除表
drop table 表名;
案例9:
--删除表
drop TABLE student;