DDL:数据定义语言
//定义和管理数据对象(create,drop,alter)
DML:数据操作语言(insert、update、delete)
DQL:数据查询语言(select)
DCL:数据控制语言(grant、commit、rollback)
创建数据库
create database if not exists school_83;
//在任意的查询窗口都可以执行
//如果需要使用保留字作为名称,使用create包裹
//不是引号哦,是反单引号
删除数据库
drop database if exists school_83;
使用数据库
use school_83;
建立数据表
#建表使用小括号,建表结束时,使用分号结尾
#每个字段的定义,使用逗号分隔,最后一个字段如果后面没有内容,逗号省略
#每个属性使用空格隔开
create table[if not exists] tablename(
字段名1 数据类型 列类型[属性][索引][注释],
字段名2 数据类型 列类型[属性][索引][注释]
)[表类型][表字符集][注释];
数据类型:
char:固定长度字符
varchar:可变长度字符
datetime :日期(年-月-日 时:分:秒)
列属性:
//所有的列属性使用空格隔开
unsigned:不允许负数
zerofill:不足位数用0来填充,int(3),5则为005
auto_increment:自增,每添加一条数据,自动在上一个记录数上加1
//可自定义起始值和步长
not null:该列必须有值
default:设置默认值
comment:为列加注释comment ‘学号’
unique:唯一索引,保证数据唯一性
primary key:设置主键(主键也是所有)
//可以作为列属性放到某个列的后面
//也可以与字段并列(另起一行)primary key(‘id’)
表属性:
//每个属性使用空格隔开
engine=innodb
//设置数据库引擎
defalut charset=utf8
comment
//设置注释
auto_increment=10
//指定自增起始值
一次完整的表创建:
CREATE TABLE IF NOT EXISTS students (
stu_no INT(4) NOT NULL COMMENT ‘学号’ PRIMARY KEY,
stu_name varchar(50) not null COMMENT ‘学生姓名’,
sex char(2) not null DEFAULT ‘男’ COMMENT ‘性别’,
stu_pwd VARCHAR(20) not null DEFAULT 123456 COMMENT ‘密码’,
grade_Id int(4) UNSIGNED COMMENT ‘年级编号’,
phone VARCHAR(20) COMMENT ‘联系电话’,
address varchar(255) DEFAULT ‘no address’ COMMENT ‘地址’,
birthday datetime COMMENT ‘出生时间’,
email varchar(50) COMMENT ‘邮件账号’,
idcard varchar(18) COMMENT ‘身份证号码’
)ENGINE=INNODB DEFAULT CHARSET=utf8;
SELECT from students;
修改表
#基本语法:alter table 表名
1.修改表名rename as
alter table students rename [to/as] students_old;
2.添加字段add
alter table students add 列名 数据类型 列属性
3.修改字段modify
alter table students modify 某字段 新字段 default *;
4.删除字段drop
alter table students drop 字段名
