-- 注释(单行注释), 也可以使用#号
-- 创建数据库
create database mydatabase charset utf8;
create database `database` charset utf8;
-- 创建中文数据库
create database 中国 charset utf8;
-- 中文字符集
set names gbk;
-- 查看所有数据库
show databases;
-- 创建数据库
create database informationtest charset utf8;
-- 查看以information_开始的数据库(_下划线需要被转义)
-- show databases like 'information_%';
-- 相当于information%
show databases like
'information\_%';
-- 查看数据库的创建语句
show create database mydatabase;
show create database `database`;
-- 查看数据库文件保存路径
show variables like 'datadir';
--修改数据库informationtest的字符集
alter database informationtest charset GBK;
-- 删除数据库
drop database informationtest;
-- 创建表
-- 显示地将student表放在yuanweijie数据库下
create table if not exists yuanweijie.student(
name varchar(10),
gender varchar(10),
number varchar(10),
age int
)charset utf8;
-- 进入数据库
use yuanweijie;
-- 创建表
create table class(
name varchar(10),
room varchar(10)
)charset utf8;
-- 查看所有表
show tables;
-- 查看以s结尾的表
show tables like '%s';
-- 查看表的创建语句
show create table student;
show create table student\g
show create table student\G -- 将查到的结构旋转90度变成纵向
-- 查看表结构
desc class;
describe class;
show columns from class;
-- 重命名表:student表
rename table student to my_student;
-- 修改表选项:字符集
alter table my_student charset = GBK;
-- 创建班级表
create table my_class(
name varchar(20) not null,
room varchar(20) null
-- 代表允许为空,不写默认就是允许为空。
);
-- 创建表
create table my_teacher(
name varchar(20) not null comment
'姓名',
money decimal(10,2) not null comment
'工资'
);
-- 默认值
create table my_default(
name varchar(20) not null,
age tinyint unsigned default 0,
gender enum('男','女','保密',)
default '男'
);
-- 插入数据
insert into my_default (name) values
('阿闯');
insert into my_default values('男闺蜜',18,default);
-- 增加主键
create table my_pril(
name varchar(20) not null comment
'姓名',
number char(10) primary key comment
'学号: bc2019+0001, 不能重复'
);
-- 复合主键
create table my_pri2(
number char(10) comment
'学号: bc2019+0001',
course char(10) comment
'课程代码:bc2589+0001',
score tinyint unsigned default 60 comment '成绩',
-- 增加主键限制: 学号课程号应该是对应的,具有唯一性
primary key(number,course)
);
-- 追加主键
create table my_pri3(
course char(10) not null comment
'课程编号:bc2589+0001',
name varchar(10) not null comment
'课程名字'
);
alter table my_pri3 modify course
char(10) primary key comment
'课程编号:bc2589+0001';
alter table my_pri3 add primary key(course);
-- 向pril,2表插入数据
insert into my_pril values('古天乐',
'bc20190001'),('蔡康永','bc20190002');
insert into my_pri2 values(
'bc20190001','bc25890001',90),
('bc20190001','bc25890002',85),
('bc20190002','bc25890001',92)
-- 主键冲突 (重复)
insert into my_pril values('刘涛','bc20190002');-- 不可以,主键冲突
insert into my_pri2 values('bc20190001','bc25890001',100);