MySQL基本操作

Workbench常用快捷键
1、执行整篇sql脚本:Ctrl + Shift + Enter
2、执行当前行: Ctrl + Enter
3、注释/取消注释: Ctrl + /
4、格式化sql语句: Ctrl + B

# 创建数据库
create database choose; 
show databases;
show create database choose;

# 创建数据表
use choose;
set default_storage_engine = InnoDB;
create table my_table(
today datetime,
name char(20)
);
show tables; 

# 查看表结构
desc my_table;

# 插入表记录
use choose;
insert into my_table values(now(), 'a');
insert into my_table values(now(), 'a');
insert into my_table values(now(), NULL);
insert into my_table values(now(), ' ');
select * from my_table;

use choose ;
alter table my_table engine = InnoDB;
create table second_table(
today datetime,
name char(20)
);

use choose;
create table today(
t1 datetime,
t2 timestamp
);

insert into today values(now(), now());
insert into today values(null, null);

show variables like 'time_zone';
select * from today;
set time_zone = '+12:00';
show variables like 'time_zone';

# 有问题
use choose;
create table person(
sex enum('男', '女'),
interest set('听音乐', '看电影', '购物', '旅游', '游泳', '游戏')
);
insert into person values('男', '看电影, 游泳, 听音乐');

select * from person;


# 创建选课系统

use choose;
create table teacher(
teacher_no char(10) primary key,
teacher_name char(10) not null,
teacher_contact char(20) not null
)engine = InnoDB default charset = gbk;

create table classes(
class_no int auto_increment primary key,
class_name char(20) not null unique,
department_name char(20) not null
)engine = InnoDB default charset = gbk;

create table course(
course_no int auto_increment primary key,
course_name char(10) not null,
up_limit int default 60,
description text not null,
status char(6) default '未审核',
teacher_no char(10) not null unique,
constraint course_teacher_fk foreign key(teacher_no) references teacher(teacher_no)
)engine = InnoDB default charset = gbk;

create table student(
student_no char(11) primary key,
student_name char(10) not null,
student_contact char(20) not null
class_no int,
constraint student_class_fk foreign key(class_no) references classes(class_no)
)engine = InnoDB default charset=gbk;

create table choose(
choose_no int auto_increment primary key,
student_no char(11) not null,
course_no int not null,
score tinyint unsigned,
choose_time datetime not null,
constraint choose_student_fk foreign key(student_no) references student(student_no),
constraint choose_course_fk foreign key(course_no) references course(course_no)
)engine = InnoDB default charset = gbk;

# 创建索引
create table book(
isbn char(20) primary key,
name char(100) not null,
brief_introduction text not null,
price decimal (6, 2),
publish_time date not null,
unique index isbn_unique (isbn),
index name_index (name(20)),
fulltext index brief_fulltext (name, brief_introduction),
index complex_index (price, publish_time)
)engine = MyISAM default charset = gbk;

# 在现有表上创建索引
alter table course add fulltext index description_fulltext(description);
create fulltext index description_fulltext on course (description);

 
# 插入记录
use choose;
insert into teacher values('001', '张老师', '11000000000');
insert into teacher values('002', '李老师', '12000000000');
insert into teacher values('003', '王老师', '13000000000');

# 向指定字段插入记录
use choose ;
insert into classes(class_no, class_name, department_name) values(null, '2010自动化1班','机电工程');
insert into classes(class_no, class_name, department_name) values(null, '2010自动化2班','机电工程');
insert into classes(class_no, class_name, department_name) values(null, '2010自动化3班','机电工程');

use choose;
insert into course values(null, 'java语言程序设计', default, '暂无', '已审核', '001');
insert into course values(null, 'MySQL数据库', 150, '暂无', '已审核', '002');
insert into course values(null, 'java语言程序设计', 230, '暂无', '已审核', '003');

# 批量插入多条语句
use choose;
insert into student values
('2010001', '张三', '15000000000', 1),
('2010002', '李四', '16000000000', 1),
('2010003', '王五', '17000000000', 3), 
('2010004', '马六', '18000000000', 2),
('2010005', '田七', '19000000000', 2);
select * from student;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值