mysql 基础命令

登陆:mysql -h ip -P port -uroot -p

本地登陆也可以简写 mysql -uroot -p

库的基础操作:

show databases; 查看所有的库

show create database t1 ; 查看指定库的详细信息

create database t1 charset = 'utf8' ; 创建库t1 

alter database t1 charset = 'gbk' ; 修改库t1字符编码

drop database t1; 删除库t1 

use t1; 切换到t1库下

select database(); 查看当前所在库

表的操作:

show tables; 查看当前库下的表

create table  student(id int primary key auto_increment ,stu_name char(16) not null ,stu_gender enum('male','female') default 'male' ,stu_hobby set('吃饭','睡觉','打羽毛球')); 创建学生信息表

id字段:primary key--设置为主键字段 auto_increment--设置自增

stu_name(学生姓名)字段:char(16)--字符类型 每个字段必须要有 16是对输入内容长度的限制

stu_gender字段:因为是性别 需要多选一,使用了enum(),枚举 default 'male',默认值为male 

stu_hobby 兴趣字段:兴趣可以有多个,使用set集合 但是在插入数据时 必须选择已有内容 不能选择打游戏,因为打游戏我们在建表地时候并没有提前设定

alter table student modify stu_name char(32); 修改表信息

alter table student rename new_student; 修改表的名字

alter table student add stu_name char(16); 添加字段

alter table student modify stu_name char(32) not null; 修改字段信息

alter table student change stu_name new_stu_name char(20) not null; 修改字段信息 也可以修改字段名

alter table student drop stu_name; 删除字段

 

 

判断表与表的关系;

  一对多(外键设置在多的一方)、多对多(新建第三张表来做中介建立关系)、一对一(查询频率高的一方设置外键)

表于表之间建关系;

这边写一个多对多的例子:

看上图 多对多 的表关系建立 需要做第三张表来建立关系

图书表 和 作者表 正常建表就ok  使用第三张表分别和图书表、作者表建立关系即可;

create table book(id int primary key auto_increment ,book_name char(16), price int);

create table author(id int primary key auto_increment ,author_name char(16),author_age int);

现在新建第三张表来做关系

create table contact(id int primary key auto_increment,book_id int,author_id int,foreign key(book_id) references book(id) on update cascade on delete cascade,foreign key(author_id) references author(id) on update cascade ondelete cascade);

 

 

posted @ 2021-11-08 13:06  落叶给树的留言  阅读(38)  评论(0编辑  收藏  举报