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);
本文来自博客园,作者:{落叶给树的留言},转载请注明原文链接:https://www.cnblogs.com/luoyegeishudeliuyan/p/15523748.html