首页 > 代码库 > <11day>_数据库操作-【Mysql】
<11day>_数据库操作-【Mysql】
内容:
1.Mysql
程序:
--socket客户端
2.根据IP和端口进行连接
3.发送指令(send):
xxxxx
7.接受结果
--socket服务端
1.运行起来
4.获取指令(recv):
xxxxx
5.解析命令
文件夹操作:
文件操作:
文件内容操作
6.返回结果
----------------------------------SQL语句---------------------------------
一、文件夹操作(数据库):
创建:
create database db1;
create database db1 default charset utf-8;
删除:
drop database db1;
进入文件夹:
use db1;
二、文件操作(数据表):
创建表:
create table tb1(
id int,
name char(20),
age int,
gender char(1)
)
删除表:
drop table tb1;
----------------------------------------------------------------------------------
1.列名
2.数据类型
3.是否可以为空
4.默认值
create table tb1(
id int not null, # id列不可以为空
name char(20),
age int default 18, # 年龄(age)默认为18
gender char(1)
)
5.自增(一个表只能有一个自增列)
create table tb1(
id int not null auto_increment, # auto_increment表示自增
name char(20),
age int default 18, # 年龄(age)默认为18
gender char(1)
)
6.主键:
约束:不能为空,不能重复
索引:加速查找
7.外键:
使用外键创建数据表可以减少使用空间(一表对多表)
约束:只能是某个表中某列已经存在的数据
constraint xxxx foreign key (department_id) references deparment (id)
---------------------------------------创建表--单表--------------------------------
create table userinfo (
id int null auto_increment primary key, # id 为列名, auto_increment代表id自增, primary key表示为主键
name char(20),
age int default 18 ,
gender char(1)
) engine=innodb default charset=utf8; # engine=innodb引擎操作, 设置创建表时默认的字符集utf8
---------------------------------向表中插入数据---------------------------------
插入数据是忽略id列
age列可写可不写,不写默认为18
insert into userinfo (name,age,gender) values(‘zhaosj‘,25,‘男‘);
#################################创建--多表#################################
1、创建多表的原因:
假设以上数据表存在硬盘上占用了12M,表示大量的浪费了磁盘空间。
2、节省资源方式创建两张表
第一张表:
语句:
create table userinfo(
id int not null auto_increment primary key,
name char(20),
age int default 18,
gender char(1),
department_id int,
constraint xxxx foreign key (department_id) references deparment (id) # 添加约束,防止出现乱的数据
) engine=innodb default charset=utf8;
添加约束说明:
这种约束称之为:外键
constraint xxxx foreign key (department_id) references deparment (id) # 添加约束语句,表示当前创建表语句中的department_id 与 deparment表中的id进行关联。其中的‘xxxx‘为约束的名字,可以随意起。
第二张表:
语句:
create table deparment(
id int not null auto_increment primary key,
title char(32)
) engine=innodb default charset=utf8;
数据表操作:
向deparment表中插入数据:
insert into deparment (title) value (‘IT部‘);
insert into deparment (title) value (‘咨询部‘);
向userinfo表中插入数据:
insert into userinfo (name,age,gender,department_id) values (‘alex‘,18,‘男‘,2); # 其中 department_id的值只能写1或者2
三、文件内容操作(数据行):
<11day>_数据库操作-【Mysql】