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 | 该列自动填充一个序列,且不会重复 |