回顾mysql命令(一)

回顾mysql命令(一)

1.创建数据库

创建数据库,以创建名为school的数据库为例

create database  school;

C:\Users\纵横四海\AppData\Roaming\Typora\typora-user-images\image-20210317174146568.png

查看数据库

show databases;

在这里插入图片描述

2.表的操作

1.创建表

创建表之前要确定,在哪一个数据库里创建表,要先调用这个数据库。

use school;

然后创建表,以创建student表为例

create table student( 
    id int, StuName varchar(32), 
    age int, phone varchar(11), 
    sdept varchar(32),
    classId int);

在这里插入图片描述

查看所建的表

show tables;

在这里插入图片描述

查看表的结构

desc student;

在这里插入图片描述

查看表的基本信息

show create table student;

在这里插入图片描述

删除表

drop table 表名;
2.修改表

修改表名

alter table rename to/as new_tablename;

在这里插入图片描述

修改表字段的数据类型

 alter table new_student  modify column id varchar(11);

在这里插入图片描述

表的注释

1.在创建表时给表添加注释

create table student( 
    id int, StuName varchar(32), 
    age int, phone varchar(11), 
    sdept varchar(32),
    classId int
)comment='我是表的注释';

2.在表已经创建好的情况下,添加或修改注释

alter table student comment '学生信息表';

3.查看表的注释

在生成的SQL语句中看

show create table student;

在元数据的表里面看

use information_schema;
select * from TABLES where TABLE_SCHEMA='school' and TABLE_NAME='student';
字段的注释

1,在创建表时给字段添加注释

create table student( 
    id int, StuName varchar(32)  comment = '我是字段的注释', 
    age int, phone varchar(11)  comment = '我是字段的注释', 
    sdept varchar(32)  comment = '我是字段的注释',
    classId int  comment = '我是字段的注释'
)comment='我是表的注释';

2,表创建好后,给字段添加注释

alter table student  modify column id varchar(20) comment '学生学号';  //也可同时改变字段类型

3.查看字段注释的方法

  • show full columns from student;
    

    在元数据的表里面看

  • use information_schema;
    select * from columns where TABLE_SCHEMA='school' and TABLE_NAME='student';
    

3.表的字段操作

1.添加主键

1.在相应字段后添加主键
create table student(
    id int primary key,
    StuName varchar(32),
    age int,
    phone varchar(11)
);
2.在所有字段定义完后添加主键
create table student(
    id int,
    StuName varchar(32),
    age int,
    phone varchar(11),
    primary key(id)
);
3.表建好后添加或修改主键
修改主键

先删除原有的主键,需要注意的是主键如果设置了自动递增,需要先将自动递增去掉,再删除主键

alter table 表名 modify/change 字段名 字段类型;  //将自动递增去掉
alter table 表名 drop primary key;  //删除原有的主键
alter table 表名 add primary key(要设为主键的字段名);  //设置新的主键
没有主键直接添加主键
alter table 表名 add primary key(要设为主键的字段名);  //设置新的主键
4.多字段联合主键

例如将学生id和手机号phone联合起来作为主键

create table student(
    id int,
    StuName varchar(32),
    age int,
    phone varchar(11),
    primary key(id,phone)
);

2.外键的约束

1. 以class表的主键作为student的外键(因为两表都有班级号,两表因此具有关联性)
    create table class(
        Id int primary key,  //班级号
        className varchar(32)
    );
    
    create table student(
        id int primary key, //班级号
        classId int,  
        StuName varchar(32),
        age int,
        phone varchar(11),
        constraint CS_Key foreign key(classId) references class(Id)
    );
2. 表已建好的情况下修改、追加外键
alter table student add constraint CS_Key foreign key(classId) references class(Id);
3.查看外键是否构建成功
  • show create table 表名;
    

​ 这个命令可以查看表的所有信息,包括一些字段类型,字段的约束,外键,主键,索引,字符编码等等。

4.删除表的外键
  • alter table 表名 drop foreign key 约束名;
    

在这里插入图片描述

3.给表添加常用约束

1.添加唯一性约束

唯一约束要求该列唯一,允许为空,但是只能有一个空值。唯一约束可以确保一列或者几列不出现重复值。

关键字 unique
create table student(
    id int primary key,
    classId int,  
    StuName varchar(32),
    age int,
    phone varchar(11) unique
);
2.添加非空约束
关键词:NOT NULL
create table student(
    id int primary key,
    classId int,  
    StuName varchar(32) not null, 
    age int,
    phone varchar(11)
);
3.默认约束
关键词:DEFAULT
CREATE TABLE t_emp(

  id INT PRIMARY KEY,
  name VARCHAR(22),
  sex VARCHAR(2) DEFAULT '男'
) DEFAULT CHARSET=utf8;
  • 如果是添加字符串型默认值要使用单引号,如果是整型则不需要加任何符号;
  • 如果要添加的是中文默认值,则需要加上DEFAULT CHARSET=utf8;使用英文字符则不需要。
4.设置表的属性值自动增加
关键词:AUTO_INCREMENT,默认情况下初始值和增量都为1
CREATE TABLE t_emp(
  id int primary key auto_increment,     //主键,自动增长
  name VARCHAR(22),
  sex VARCHAR(2),
);

DEFAULT CHARSET=utf8;


- 如果是添加字符串型默认值要使用单引号,如果是整型则不需要加任何符号;
- 如果要添加的是中文默认值,则需要加上`DEFAULT CHARSET=utf8;`使用英文字符则不需要。

#### 4.设置表的属性值自动增加



##### 关键词:`AUTO_INCREMENT`,默认情况下初始值和增量都为`1`

```mysql
CREATE TABLE t_emp(
  id int primary key auto_increment,     //主键,自动增长
  name VARCHAR(22),
  sex VARCHAR(2),
);
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值