
数据库基础-MySql8.0(第一篇)--DDL语句
发布日期:2021-05-06 03:20:48
浏览次数:17
分类:技术文章
本文共 3418 字,大约阅读时间需要 11 分钟。
MySql基础篇
学习目的:
实现数据持久化到本地;
使用完整的管理系统统一管理,可以实现结构化查询,方便管理;
数据库的相关概念
DB:数据库(DataBase)存储数据的容器,它保存了一系列有组织的数据。
DBMS:数据库管理系统(DataBase Management System)又称为数据库软件或数据库产品,用于创建或管理DB。 SQL:结构化查询语言(Structure Query Language)用于和数据库通信的语言,不是某个数据库软件特有的,而是几乎所有的主流数据 库软件通用的语言。
MySql语法规范
-- 单行注释-- sql语言中不区分大小写/*多行注释*//*DDl:数据定义语言,也是属于sql,只是按照功能划分*/
数据定义语言DDL
创建删除数据库
-- 创建数据库CREATE DATABASE IF NOT EXISTS school_db CHARSET utf8-- 删除数据库DROP DATABASE school_db-- 修改数据库字符编码ALTER DATABASE school_db CHARSET utf8-- 数据库名一旦给定,不能更改
设计表
在数据库中数据以表为单位来存储
设计表: 表名(存储的信息,一个表存储一类信息) 字段 数据类型,长度 约束
-- 创建表,不添加任何约束CREATE TABLE t_student( num INT, NAME VARCHAR(10), sex CHAR(1), birthday DATE, grade INT, score DOUBLE(4,1), mobile CHAR(11), reg_time DATETIME);-- 删除表DROP TABLE t_student-- 创建表,添加约束和注释/* 约束: 主键约束:一个表中只能有一个主键,不能为空,不能重复 唯一约束:一个表中可以有多个重复,可以为空 不能为空:可以有多个重复 AUTO_INCREMENT 主键自动增长,数据类型必须为整数*/CREATE TABLE t_student( num INT PRIMARY KEY AUTO_INCREMENT COMMENT '主键', NAME VARCHAR(10) NOT NULL COMMENT '姓名', sex CHAR(1) CHECK(sex='女' OR sex='男') COMMENT '性别', birthday DATE COMMENT '生日', grade INT COMMENT '班级', score DOUBLE(4,1) CHECK(score>=0 AND score <=100) COMMENT '成绩', mobile CHAR(11) UNIQUE COMMENT '手机号', reg_time DATETIME COMMENT '注册时间');-- 创建表,不添加任何约束,通过ddl语句,修改表结构CREATE TABLE t_student( num INT, NAME VARCHAR(10), sex CHAR(1), birthday DATE, grade INT, score DOUBLE(4,1), mobile CHAR(11), reg_time DATETIME)-- 添加主键约束 -- ALTER TABLE 表名 ADD PRIMARY KEY(列名) ALTER TABLE t_student ADD PRIMARY KEY(num) -- 删除主键约束-- ALTER TABLE 表名 DROP PRIMARY KEY ALTER TABLE t_student DROP PRIMARY KEY -- 设置自动增长-- ALTER TABLE 表名 MODIFY 列名 类型 AUTO_INCREMENT ALTER TABLE t_student MODIFY num INT AUTO_INCREMENT -- 删除自动增长-- ALTER TABLE users MODIFY 列名 类型 ; ALTER TABLE t_student MODIFY num INT -- 设置不能为空-- ALTER TABLE 表名 MODIFY 列名 类型 NOT NULL; ALTER TABLE t_student MODIFY NAME VARCHAR(10) NOT NULL -- 设置可以为空 -- ALTER TABLE 表名 MODIFY 列名 类型 NULL; ALTER TABLE t_student MODIFY NAME VARCHAR(10) NULL -- 添加唯一约束-- ALTER TABLE 表名 ADD CONSTRAINT 约束名 UNIQUE(列名) ALTER TABLE t_student ADD CONSTRAINT mobile_unique UNIQUE(mobile) -- 通过约束名删除约束 -- ALTER TABLE 表名 DROP INDEX 约束名; ALTER TABLE t_student DROP INDEX mobile_unique -- 添加检查约束-- ALTER TABLE 表名 ADD CONSTRAINT 约束名 CHECK(条件) ALTER TABLE t_student ADD CONSTRAINT score_check CHECK(score>=0 AND score<=100)-- 删除check约束-- ALTER TABLE 表名 DROP CHECK 约束名; ALTER TABLE t_student DROP CHECK score_check -- 添加列-- ALTER TABLE 表名 ADD 列名 数据类型 ALTER TABLE t_student ADD address VARCHAR(50) NOT NULL -- 删除列-- ALTER TABLE 表名 DROP 列名 ALTER TABLE t_student DROP address -- 在第一列添加列 -- ALTER TABLE 表名 ADD 列名 数据类型 FIRST ALTER TABLE t_student ADD address VARCHAR(50) FIRST -- 在指定列后添加列-- ALTER TABLE 表名 ADD 列名 数据类型 AFTER 列名 ALTER TABLE t_student ADD address VARCHAR(50) AFTER mobile-- 修改列名-- ALTER TABLE 表名 CHANGE 旧列名 新列名 数据类型 ALTER TABLE t_student CHANGE mobile phone VARCHAR(11) -- 修改列的数据类型-- ALTER TABLE 表名 MODIFY 列名 新数据类型 ALTER TABLE t_student MODIFY address VARCHAR(40) -- 表结构修改语法-- alter table 表名 add/drop/change/modify(修改)-- 删除表 DROP TABLE t_student-- 修改表名-- RENAME TABLE 旧表名 TO 新表名 RENAME TABLE t_student TO student -- 复制表结构-- CREATE TABLE 新表名 LIKE 被复制表名; CREATE TABLE stu LIKE student
发表评论
最新留言
关注你微信了!
[***.104.42.241]2025年03月22日 06时59分01秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
09-01 Java语言基础(package、import)
2019-03-03
11-01 Java语言基础(Scanner类)
2019-03-03
Accessing Excel Spreadsheets via C++
2019-03-04
excel上传核心
2019-03-04
json.parse细节
2019-03-04
redis
2019-03-04
ReID基础 | ReID工程中的一些小trick
2019-03-04
OpenCV6边缘检测[Canny算法]
2019-03-04
Hadoop_Scala操作Hbase
2019-03-04
Scala_1.控制台打印,变量定义,函数定义
2019-03-04
十五.Python异常处理
2019-03-04
c++备考期末必须看的知识点(一篇就够了)
2019-03-04
qt中初始化界面的几种方法
2019-03-04
【图论】【最短路】USACO 2.4 牛的旅行 (最短路)
2019-03-04
【图论】【最短路】工厂的烦恼
2019-03-04
C语言初阶——指针
2019-03-04
[88]. 合并两个有序数组(C语言)
2019-03-04
最全环境搭建-常用软件安装
2019-03-04
Linux 安装 MySql
2019-03-04
系统架构
2019-03-04