数据库中的编写代码不区分大小写、并且mysql中utf8并不是标准的utf8编码,utf8mb4才是
utf8mb3是存储一个文字时,最多占用3个直接,而
utf8mb4最多占4个字节
1、创建数据库
cread database 数据库名;
2、显示当前所有数据库;
show databases
3、删除数据库
drop databases 数据库名;
4、查看当前数据库引擎
show engines
5、创建数据库表
cread table 表名(
字段名1 数据类型 约束,
字段名2 数据类型 约束(结束处不要逗号)
......
);
7、查询所有的数据库表
show databases;
8、使用哪个数据库表
use 数据库名;
约束:
1、非空(not null)约束
是一个列级别的约束,要求所限定的列不允许放空值进来
create table 表名(
字段名 数据类型 not null,
...
);
create table teacher(
-> tid int,
-> tname varchar(15),
-> tsex varchar(2),
-> phone int not null
-> );
2、唯一性约束,是一个列级别的约束,设定的列不运行插入重复的值
create table 表名(
字段名 数据类型 unique,
...
);
create table a(
-> id int not null,
-> name varchar(20) unique not null,
-> pwd varchar(20)
-> );
3、默认值(default)约束
默认值越是,是一个列级别的约束,所限定的列,当没有插入值的时候,给定一个默认值
create table 表名(
字段名 数据类型 default 具体的值,
...
);
create table tb_02(
-> id int not null,
-> uname varchar(20) unique not null,
-> place varchar(20) default 'wh'
-> );
into tb_02(id,uname) values(1,'zhangsan');
insert into tb_02(id,uname,place) values(2,'lisi','sh');
4、主键(primary key)约束
主键约束是一个表级别的约束,它等价于 非空 + 唯一约束
它要求所限定的列,非空且唯一
一个表中只能有一个主键
主键约束分为两种:
单主键:通常直接在列的尾部进行声明
create table 表名(
字段名 数据类型 primary key,
...
);
联合主键:主键设计两个列或者两个以上的列,多个列作为主键
create table 表名(
字段名1 数据类型,
字段名2 数据类型,
字段名3 数据类型,
...
primary key(字段名1,字段名2,字段名3...)
);
mysql> create table tb_stu(
-> stuId int primary key, -- 设置主键
-> stuName varchar(20) not null
-> );
mysql> create table tb_cs(
-> sid int,
-> cno int,
-> score double,
-> primary key(sid,cno) -- 设置联合主键
-> );
-- 表没有创建主键添加主键
mysql> create table tb_03(
-> id int,
-> name varchar(20) not null
-> );
mysql> alter table tb_03 add primary key(id);-- 添加主键
mysql> alter table tb_03 drop primary key;-- 删除主键
5、外键(foreign key)约束
外键约束,是一种表级别的约束,他用于表示被它修饰的列中的数据,需要参考另一张表的某一个列中的值
create table a表(
...
字段名 类型 references b表(某个字段)
...
);
create table a表(
...
...
constraint 约束名 foreign key a表中的字段名 references b表(某个字段)
);
如果两张表之间存在外键连接,要先创建主表,在创建从表
删除表的时候先删除从表再删除主表
```