2021-07-30 MySQL DDL、DCL、

MySQL(免费、开源的关系型数据库)

数据库:DataBase (DB) 是按照数据结构组织、存储和管理数据的仓库

使用关系型数据库管理系统(RDBMS) 来存储和管理数据

RDBMS 数据库管理系统 :

1.数据以表的形式出现

2.每行为各种记录的名称

3.每列为记录 名称所对应的数据域

4.许多的行和列 组成了一张表单

5.若干张表组成了数据库 database

RDBMS:

数据库 :一些表的联合

列:一例 包含了相同类型的数据

行:一行  是一组相关的数据

冗余:存储两倍的数据,降低性能但是提高了数据的安全性

主键:主键是惟一的,一个表只能包含一个主键

外键:用于关联两个表

DDL(数据定义语言)

定义和管理数据对象,如数据库,数据表等

DML(数据操作语言)

用于操作数据库对象中所包含的数据

DQL(数据查询语言)用于查询数据库数据

DCL(数据控制语言)

用来管理数据库的语言,包括管理权限及数据更改

Mysql常用指令

-- 创建数据库 CREATE DATABASE 数据库名

-- 删除数据库 DROP DATABASE 数据库名称

CREATE DATABASE myschool_test;

DROP DATABASE myschool_test;

-- 查看数据库

SHOW DATABASES;

--  CREATE   TABLE [ IF NOT EXISTS ]    `表名`   (

--         `字段名1`    列类型 [ 属性 ]  [ 索引 ] [注释] ,

--         `字段名2`   列类型 [ 属性 ]  [ 索引 ] [注释] ,

--          … …   

--          `字段名n`   列类型 [ 属性 ]  [ 索引 ] [注释]

--

-- )  [  表类型 ] [ 表字符集 ] [注释] ;

CREATE TABLE IF NOT EXISTS `subject`(

       subjectNo INT(11)  NOT NULL AUTO_INCREMENT, -- PRIMARY KEY

       subjectName VARCHAR(50) NOT NULL COMMENT '科目名称',

       classHour  int(4) not null DEFAULT 1,

  gradeID int(4) not null ,

PRIMARY KEY(subjectNo)

)ENGINE = INNODB charset=utf8;

 -- IF NOT EXISTS 判断表是否存在   DEFAULT 默认值   AUTO_INCREMENT 标识列 自动增长 一般和主键列一起使用

-- 切换需要操作的数据

USE myschool_test;

-- 删除表  drop table 表名

DROP TABLE `subject`;

--  查看表设计

desc `subject`;

-- 查看表的创建语句

show create table `subject`;

-- 查看所有表

SHOW TABLES ;

-- 临时表 临时表将在连接MySQL期间存在,当连接断开时,MySQL会自动删除表 并 释放空间,也可以手动删除

-- CREATE TEMPORARY TABLE 临时表名(

--    `字段名1`    列类型 [ 属性 ]  [ 索引 ] [注释]

-- )

-- 创建一张表  中需要有 原有Student表中的数据

CREATE TABLE newstudent

AS

SELECT studentNo,studentName FROM student WHERE sex = '男' AND studentName like '李%'

-- 创建一张表 需要有 原有Student表中的结构  不要数据

CREATE TABLE newstudent

AS

SELECT * FROM student WHERE 1=2

-- 删除一个 存在的表

DROP TABLE IF EXISTS newstudent;

-- 更改表名  ALTER TABLE 原表名称 RENAME 更新后的表名

ALTER TABLE newstudent RENAME newstudent_RENAME;

--  更改表名  RENAME TABLE 原表名称 TO 更新后的表名;

RENAME TABLE newstudent_RENAME TO newstudent;

-- 添加列

ALTER TABLE newstudent ADD sex VARCHAR(2) not null;

-- 删除列

ALTER TABLE newstudent DROP sex;

-- 更改  列名和属性

ALTER TABLE newstudent CHANGE sex age CHAR(4);

-- 更改 属性

ALTER TABLE newstudent MODIFY age VARCHAR(4);

-- 添加主键  ALTER TABLE 表名 ADD PRIMARY KEY(列名);

ALTER TABLE newstudent ADD PRIMARY KEY(studentNo);

-- 添加主键 ALTER TABLE 表名 ADD CONSTRAINT 主键约束名称  PRIMARY KEY(列名);

ALTER TABLE newstudent ADD CONSTRAINT pk_stuno  PRIMARY KEY(studentNo);

-- 删除主键

ALTER TABLE newstudent DROP PRIMARY KEY;

-- 添加主外键 关系

-- ALTER TABLE 外键表表名 ADD FOREIGN KEY(外键表外键列) REFERENCES 主表(主键列);

ALTER TABLE newstudent ADD FOREIGN KEY(gradeId) REFERENCES newgrade(gradeId);

-- ALTER TABLE 外键表表名 ADD CONSTRAINT `fk_外键约束的约束名` FOREIGN KEY(外键表外键列) REFERENCES 主表(主键列)

ALTER TABLE newstudent ADD CONSTRAINT `fk_stu_grade_gradeid` FOREIGN KEY(gradeId) REFERENCES newgrade(gradeId)

-- 删除主外键 关系

-- ALTER TABLE 外键表表名 DROP FOREIGN KEY `外键约束的约束名称`;

ALTER TABLE newstudent DROP FOREIGN KEY `newstudent_ibfk_1`;

-- 修改主外键

ALTER TABLE newstudent

DROP FOREIGN KEY `fk_stu_grade_gradeid`;

ALTER TABLE newstudent ADD CONSTRAINT `fk_student_grade_gradeid`

FOREIGN KEY (gradeId)

REFERENCES newgrade(gradeId);

-- 添加 唯一键

ALTER TABLE newstudent ADD UNIQUE (phone);

ALTER TABLE newstudent ADD UNIQUE u_phone (phone);

DROP INDEX `u_phone` ON newstudent

-- 查询语句 SELECT (*:所有列)列名1,列名2,....... FROM 表名  WHERE 列名  = 值 and or等关键字 ......

SELECT * FROM student

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值