2019-03-08

1、整理今天讲解的数据库命令

2、整理今天讲解的数据库命令相关的单词并解释

3、创建数据库表

1、一对一    外键设置唯一约束

2、一对多    外键

3、多对多    中间表

要求

1、sql语句创建

2、每个数据库表insert至少5条语句

3、基本查询

4、update测试

5、delete测试


、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、

1、mysql是管理数据库的软件

2、安装

sudo apt install mysql-server

3、默认是本地连接,如果需要,可以开启远程连接

登陆

mysql -h127.0.0.1 -uroot -p

运行命令

use mysql;

update user set Host="%" where User="root";

flush privileges;

重启服务

service mysql restart

测试登陆

mysql -h192.168.0.134 -uroot -p

4、客户端

默认的客户端是黑窗口,不方便。一般使用第三方的,比如navicat,有linux版的和windows版的

5、命令

1、连接数据库

mysql -h ip地址 -P 端口号 -u 用户名 -p 密码

2、显示所有数据库

show databases;

3、创建数据库

create database 数据库名字 default charset=utf8;

4、使用数据库

use 数据库名字;

5、删除数据库

drop 数据库名字;

6、备份和恢复数据库

mysqldump -h 192.168.0.138 -u root -p mydb > ./mydb.sql

mysql -h 192.168.0.138 -uroot -p mydb < ./mydb.sql

7、查询数据库下所有的表

use 数据库名;

show tables;

8、创建表

create table 表名(

列名 类型,

列名 类型,

列名 类型

);

9、常用的类型

数字 int,float,decimal

字符串 char,varchar,longtext

日期 date,datetime

10、删除表

drop table 表名

11、描述表的信息

desc 表名

12、显示表的创建sql语句

show create table 表名

13、约束

1、主键约束

2、非空约束

3、唯一约束

4、默认约束

5、外键约束

、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、

/*1对1*/

drop table if exists husband;

drop table if exists wife;

create table husband(

id int primary key auto_increment,

name varchar(100) not null,

wid int,

foreign key(wid) references wife(id) on delete cascade

);

create table wife(

id int primary key auto_increment,

name varchar(100) not null

);

insert into wife(id,name) values(1,'小红');

insert into wife(id,name) values(2,'小兰');

insert into wife(id,name) values(3,'小亭');

insert into wife(id,name) values(4,'小晶');

insert into wife(id,name) values(5,'小美');

select * from wife;

update wife set name = '小妹' where id = 1;

insert into husband(id,name,wid) values(1,'小白',1);

insert into husband(id,name,wid) values(2,'小李',2);

insert into husband(id,name,wid) values(3,'小赵',3);

insert into husband(id,name,wid) values(4,'小钱',4);

insert into husband(id,name,wid) values(5,'小孙',5);

select * from husband;

delete from husband where id = 5;

/*1对m*/

drop table if exists emp;

drop table if exists dept;

create table emp(

id int primary key auto_increment,

name varchar(100) not null,

did int,

foreign key(did) references dept(id) on delete cascade

);

select * from emp;

insert into emp(id,name,did) values(1,'小白',3);

insert into emp(id,name,did) values(2,'小李',4);

insert into emp(id,name,did) values(3,'小赵',4);

insert into emp(id,name,did) values(4,'小钱',2);

insert into emp(id,name,did) values(5,'小孙',5);

create table dept(

id int primary key auto_increment,

name varchar(100) not null

);

select * from dept;

insert into dept(id,name) values(1,'市场部');

insert into dept(id,name) values(2,'人力部');

insert into dept(id,name) values(3,'采购部');

insert into dept(id,name) values(4,'研发部');

insert into dept(id,name) values(5,'营销部');

/*m对n*/

drop table if exists student;

drop table if exists subject;

create table student(

id int primary key auto_increment,

name varchar(100) not null

);

insert into student(id,name) values(1,'小明');

insert into student(id,name) values(2,'小王');

select * from student;

create table subject(

id int primary key auto_increment,

name varchar(100) not null

);

insert into subject(id,name) values(1,'语文');

insert into subject(id,name) values(2,'数学');

insert into subject(id,name) values(3,'英语');

select * from subject;

create table middle(

id int primary key auto_increment,

stuid int not null,

subid int not null

);

insert into middle(id,stuid,subid) values(1,1,1);

insert into middle(id,stuid,subid) values(2,1,2);

insert into middle(id,stuid,subid) values(3,1,3);

insert into middle(id,stuid,subid) values(4,2,1);

insert into middle(id,stuid,subid) values(5,2,2);

insert into middle(id,stuid,subid) values(5,2,3);

select * from middle;

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容