MySQL基础语法-DDL数据定义语言

        MySQL(关系型数据库管理系统),是当前最流行的关系型数据管理系统之一。MySQL使用的SQL语言是用于访问数据库的标准化语言。而SQL语言可以分为四大类:DDL(数据定义语言)、DML (数据操作语言)、DQL(数据查询语言)、DCL(数据控制语言)。


目录

         创建数据库

使用/切换数据库

显示所有数据库

创建表

显示当前数据库的所有表

修改表名

对列的操作

对表的操作

约束



创建数据库

CREATE DATABASE databaseName IF NOT EXISTS;

该语句的作用是创建名为 databaseName 的数据库,前提是该数据库不存在,若该数据库存在,则该语句不起作用。并且 IF NOT EXISTS 为可选内容。

使用/切换数据库

USE databaseName;

切换或者使用该数据库,执行该语句后可以对 databaseName 数据库进行操作。

显示所有数据库

SHOW DATABASES;

显示所有的已创建的数据库名。

创建表

CREATE TABLE IF NOT EXISTS member(
	id int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
	userCode VARCHAR(32) NOT NULL COMMENT "账号",
    userName VARCHAR(32) NOT NUll COMMENT "真实姓名",
    userSex int(1) NOT NULL DEFAULT 0 COMMENT "性别 0:女 1:男",
    `password` VARCHAR(32) NOT NUll COMMENT "密码",
    birthday DATE NOT NULL COMMENT "出生时间" ,
    PRIMARY KEY(id) -- 设置主键
);

创建表 member ,前提是该表不存在,[IF NOT EXISTS]同上。具体的创建格式为:

CREATE TABLE [IF NOT EXISTS] tableName (
    列名          类型       是否为null    备注
    typeName1    type1        NOT NULL    NULL,
    typeName2    type2        NULL        NULL,
    ......
)[ 表类型 ] [ 表字符集 ] [注释] ;

在创建表时,可以直接设置主键约束[ PRIMARY KEY ]。主键约束的作用是标记一条数据的唯一性,即不允许重复,不允许为NULL。

AUTO_INCREMENT 的作用是设置该列为自增列。即为该列填充一个序列,该序列不会重复。

显示当前数据库的所有表

SHOW TABLES;

修改表名

ALTER TABLE oldName RENAME AS newName;

对列的操作

为表追加一个列

-- 格式
ALTER TABLE 表名   ADD 字段名   列类型 [ 属性 ] ;
-- 例子,为student 表添加stuNo列 , 类型为int(4) ,不允许为null
ALTER TABLE student ADD stuNo int(4) NOT NULL;

修改列的类型

-- 格式
ALTER TABLE 表名   MODIFY 字段名   列类型 [ 属性 ] ;
-- 例子  
ALTER TABLE student MODIFY stuNo VARCHAR(32) NOT NULL;

修改列的列名、、类型、属性

-- 格式
ALTER TABLE 表名   CHANGE 旧字段名  新字段名   列类型 [ 属性 ];
-- 例子
ALTER TABLE student CHANGE stuNo studentNo int(4) NOT NUll;

删除

ALTER TABLE tableName DROP  studentNo;

对表的操作

删除

DROP TABLE member;

显示表的结构

DESC tableName;

 显示表的创建语句

SHOW CREATE table tableName;

约束

约束类型 关键字 作用
主键约束 PRIMARY KEY 一个列或两个列可以区分每一行的数据
非空约束 NOT NULL 列中的值必须存在
唯一约束 Unique 列中的值必须存在且不能重复
外键约束 FOREGIN KEY 一个列中的数据一定来源于另一个表的某列
默认约束  DEFAULT 列中如果没有填充值,数据表会提供一个默认值
检查约束 CHECK 列中的值在一定的范围内
自增约束 AUTO_INCREMENT 该列自动填充一个序列,且不会重复

你可能感兴趣的:(MySQL,mysql)