SQL语言开发

SQL语言开发

SQL

  1. 什么是SQL:一种描述性语言。

  2. SQL语言的作用:对存储在RDBMS中的数据进行增删改查等操作。

  3. 常用的SQL语言的种类:DCL、DDL、DML、TCL

访问控制DCL

  1. 建立数据库账号:create user

    1
    2
    3
    CRETE USER mc_class@'192.168.1%' IDENTIFIED WITH 'mysql_native_password' by '123456'

    建立mc_class的账户,192.168.1%访问控制列表,mc_class的账户都可以192.168.1的数据库服务器,IDENTIFIED是MySQL认证的加密方式,123456是数据库密码
  2. 对用户授权:grant

  3. 收回用户权限revoke

创建数据库对象

  1. 清空表:truncate table

  2. 重命名表:rename table

  3. 建立/修改/删除视图: create/alter/drop view

  4. 建立数据库: CREATE DATABASE tableName

  5. 清空表: TRUNCATE TABLE tableName

  6. 重命名表: RENAME TABLE tableName TO newTableName

建立课程主表

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
CREATE TABLE imc_course(
course_id INT UNSIGNED auto_increment NOT NULL COMMENT '课程ID',
title VARCHAR(20) NOT NULL DEFAULT '' COMMENT '课程主标题',
title_desc VARCHAR(20) NOT NULL DEFAULT '' COMMENT '课程副标题',
type_id SMALLINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '课程方向ID',
class_id SMALLINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '课程分类ID',
level_id SMALLINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '课程难度ID',
online_time datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '课程上线时间',
study_cnt INT UNSIGNED NOT NULL DEFAULT 0 COMMENT '学习人数',
course_time time NOT NULL DEFAULT '0:00' COMMENT '课程时长',
intro VARCHAR(200) NOT NULL DEFAULT '' COMMENT '课程简介',
info VARCHAR(200) NOT NULL DEFAULT '' COMMENT '学习需知',
harvest VARCHAR(200) NOT NULL DEFAULT '' COMMENT '课程收获',
user_id INT UNSIGNED NOT NULL DEFAULT 0 COMMENT '讲师ID',
main_pic VARCHAR(200) NOT NULL DEFAULT '' COMMENT '课程主图片',
content_score DECIMAL(3, 1) NOT NULL DEFAULT 0.0 COMMENT '内容评分',
level_score DECIMAL(3, 1) NOT NULL DEFAULT 0.0 COMMENT '简易易懂',
logic_score DECIMAL(3, 1) NOT NULL DEFAULT 0.0 COMMENT '逻辑清晰',
score DECIMAL(3, 1) NOT NULL DEFAULT 0.0 COMMENT '综合评分',
PRIMARY KEY(course_id),
UNIQUE KEY udx_title(title)
) COMMENT '课程主表'
  1. course_id 的auto_increment属性是一个自增ID列
  2. RIMARY KEY(course_id)将course_id定义主键
  3. NOT NULL DEFAULT 0 非空列默认值为0
  4. COMMENT 备注信息
  5. UNIQUE KEY 定义唯一索引,保证课程标题不能重复,作为业务主键来使用

课程小节表

1
2
3
4
5
6
7
8
9
10
11
CREATE TABLE imc_subsection (
sub_id INT UNSIGNED auto_increment NOT NULL COMMENT '小节ID',
chapter_id INT UNSIGNED NOT NULL DEFAULT 0 COMMENT '章节ID',
course_id INT UNSIGNED NOT NULL DEFAULT 0 COMMENT '课程ID',
sub_name VARCHAR(50) NOT NULL DEFAULT '' COMMENT '小节名称',
sub_url VARCHAR(200) NOT NULL DEFAULT '' COMMENT '小节URL',
video_type enum('avi', 'mp4', 'mpeg') NOT NULL DEFAULT 'mp4' COMMENT '视频格式',
sub_time time NOT NULL DEFAULT '0:00' COMMENT '小节时间',
PRIMARY KEY(sub_id),
UNIQUE KEY udx_chapterid_courseid_subname(chapter_id, course_id, sub_name)
) COMMENT '课程小节表'