来自 新葡亰数据库 2019-11-27 16:48 的文章
当前位置: 澳门新葡亰app > 新葡亰数据库 > 正文

create 操作表结构,当前物理的数据库都以依据

一、增加(create add insert )
1,create操作库
create database 库名 新建库
create database 库名 character set 编码表

mysql数据库,是当下接收特别管见所及的朝气蓬勃款关系型数据库

2,create 操作表结构
新建表:
create table 表名(
id int primary key auto_increment,
name varchar(20),
………….
);
primary key 主键节制(该列唯风流洒脱值卡塔尔
auto_increment 主键表自动拉长
add 增加字段 alter table 表名 add 列名 数据类型 约束

脚下使用的数据库,重要分为两类

3,insert 操作表数据内容
insert into 表名(列名1,列名2,列名3)values(值1,值2,值3)
insert into 表名 (列名) values (值)
insert into 表名 values (全列值)
insert into 表名 (列名1,列名,列名) values (值1,值2,值3),(值1,值2,值3)

1.文书档案型,如sqlite,正是二个文本,通过对文本的复制作而成功数据库的复制

二、删除(drop delete truncate)
1,操作库
drop database 数据库名

2.服务型,如mysql、postgre,数据存款和储蓄在四个物理文件中,不过急需利用终端以tcp/ip合同连接,实行数据库的读写操作

2,操作表结构
drop table 表名 (删除的是整体表)
alter table 表名 drop 列名 删除列
3,操作表数据
delete from 表名 where 条件
delete from 表名 (未有where条件,删的是表中负有记录,逐行删除卡塔尔
truncate table 表名 (先删除表,再成立表,等于删除全体表卡塔尔

E-R模型

start transaction 开启事务 实施delete删除,rollback 事务回滚可找回
start transaction 开启事务 奉行truncate删除,rollback 事务回滚不可找回

时下大要的数据库都以遵照E-奥迪Q5模型进行两全的

三、修改 (alter modify change rename update)
1,操作库
use 库名:更改库

E表示entry,实体

2,alter 改革表的结构
modify 改良约束类型 alter table 表名 modify tel varchar(50)
change 校正列名 alter table 表名 change 旧列名 新列名 数据类型 限制
rename 改正表名 alter table 旧表名 to 新表名
alter database 数据库名称 character set 编码表

R表示relationship,关系

3,update 操作表格数据
update 表名 set 列1 = 值1, 列2 = 值2 where 条件
where 条件:
id=6
id<>6 id 不等于6
id<=6
&& || ! and、or、not
id in(1,3,4,5)
is null为空,is not null 不为空
ifnull(值1,0);若为空,设置值为0;

一个实体调换为数据库中的一个表

四、查询(select show )
1,操作库
show databases
show create database 库名: 查看库编码表
select database(); 查看正在采用的库

关联描述三个实体之间的附和法规,包罗

2,操作表结构
show tables; 查询表
desc 表名; 查看表结构
show create table 表名; 查看表的编码

1.一对一

3,操作表数据
select 列名1,列名2 from 表名 查询钦命列的数码
select * from 表名 查询全体列的多寡

2.一对多

关键字:
as:重命名
like: 模糊查询 like%、%like%、like__

3.多对多

格式:
select 列名 as 别名 ,列名 as 别名… from 表名 where 条件1 group by 列名 having 条件2 order by 排序
注脚: 条件1 会先进行过滤 -> 举行分组 -> 条件2 举办过滤

涉及转移为数据库表中的三个列在关系型数据库中生机勃勃行就是多少个目的

逐个表达:select …要出示的内容.. from …表名.. where 条件…. group by …分组的列 …having …分组后的规格… order by …排序?
select …5… from …1.. where …2.. group by ..3…having ..4… order by ...6.

三范式

询问排重:
select distinct 列名 from 表名 where 条件

由此研讨和对应用中难题的计算,对于规划数据库提出了有的业内,那些专门的事业被叫做范式

 

1.首先范式(1NF):列不可拆分

五、聚合函数:
count 计算个数、sum 求和、 avg 平均值、max、 min

2.次之范式(2NF):唯生机勃勃标记

分组管理:group by

3.第三范式(3NF):援用主键

排序: order by 列名 asc|desc

表明:后叁个范式,都是在前三个范式的底工上创设的

六、多表设计
1、一对多
例如说 三个机构有几个人,壹位唯有三个单位
外键约束格式:
alter table 从表名称 add foreign key (外键列的称谓) references 主表名称(主键)
成立表时候,直接创设主键约束
dept_id int,
foreign key (dept_id) references dept(id)
2、多对多
比方说:一个体系被多个程序猿写,三个程序猿写多少个品类
3、一对一
比如 壹人唯有生龙活虎份个人档案,一个档案对应一位

约束:

七、数据备份及回复:
1,备份
mysqldump -u 用户名 -p 数据库名 > 磁盘SQL文件路线
mysqldump uroot -p zhangwu> G:澳门新葡亰app,mybases2.sql
Enter password:123

1.主键primary key

2,恢复
格局风流浪漫:创造数据库,导入数据
create database db1:
use db1;
source G://mybases2.sql

2.非空not null

主意二:创制数据库,命令行中输入
create database db2:
退出数据库,在dos下输入
mysql -uroot -p db2 < G://mybases2.sql
Enter password:123

澳门新葡亰官网APP,3.惟一unique

八、范式:
率先范式:1NF:数据库表的每一列都是不可分割的原子数据项
率先范式每一列不可再拆分,称为原子性。

4.默认default

第二范式:2NF:第二范式正是在首先范式的根基上装有列完全依附于主键列
第二范式的风味:
1) 一张表只描述大器晚成件职业。
2) 表中的每一列都完全依附于主键

5.外键foreign key

其三范式:3NF:全体列不依靠于于任何非主键列,也等于在知足2NF的根基上,任何非主键列不得传递正视于主键。
所谓传递重视,指的是豆蔻年华旦存在"A → B → C"的调整涉及,则C传递信任于A。因而,满意第三范式的数码库表应该子虚乌有如下重视关系:主键列 → 非主键列x → 非主键列y。

数据库操作

演示:学子音讯表
学号 姓名 年龄 所在大学 大学地方

·创设数据库

满意第二范式,不满足第三范式
留存传递的支配涉及:
学号?所在高校 ? 大学地方

create database数据库名charset=utf8;

拆分成两张表
学号 姓名 年龄 所在大学的号子(外键)
高校编号 所在高校 大学地方

·删除数据库

三大范式小结:
范式 特点
1NF 原子性:表中每列不可再拆分。
2NF 不爆发部分重视,一张表只描述生龙活虎件业务。白哦中的每一列是截然依附于主键的。
3NF 不发出传递信任,表中每一列都平素正视于主键。而不是通过别的列直接注重于主键。

drop database数据库名;

·切换数据库

use数据库名;

·查看当前接纳的数据库

select database();

表操作

·查看当前数据库中全数表

show tables;

·创建表

auto_increment表示自动拉长

create table表名(列及类型);

如:

create table students(

id int auto_incrementprimary key,

sname varchar(10) not null

);

·修改表

alter table表名add|change|drop列名类型;

如:

alter table students add birthdaydatetime;

·删除表

drop table表名;

·查看表结构

desc表名;

·改进表名称

rename table原表名to新表名;

·查看表的创导语句

show create table '表名';

数量操作

·查询

select * from表名

·增加

全列插入:insert into表名values(...)

缺省插队:insert into表名(列1,...) values(值1,...)

还要插入多条数据:insert into表名values(...),(...)...;

或insert into表名(列1,...) values(值1,...),(值1,...)...;

·主键列是机关增进,可是在全列插入时要求占位,日常使用0,插入成功后以实际数据为准

·修改

update表名set列1=值1,... where条件

·删除

delete from表名where条件

·逻辑删除,本质就是修正操作update

alter table students add isdelete bit default 0;

倘若急需删除则

update students isdelete=1 where ...;

备份与回复

Ø数据备份

·进入特级管理员

sudo -s

·进入mysql库目录

cd /var/lib/mysql

·运行mysqldump命令

mysqldump –uroot –p数据库名> ~/Desktop/备份文件.sql;

按提示输入mysql的密码

Ø数据苏醒

·连接mysqk,创设数据库

·退出连接,实行如下命令

mysql -uroot –p数据库名< ~/Desktop/备份文件.sql

依赖提醒输入mysql密码

1.1.1总结

·数据库消除的主题素材,E-Enclave模型,三范式

·图形分界面操作数据库、表、数据

·命令行操作数据库、表、数据

1.1.2作业

·完备学员表、科目表及数据

·设计两张表,需要是风度翩翩对多的涉嫌

1.2查询

简介

·查询的中坚语法

select * from表名;

·from关键字背后写表名,表示数据来源是那张表

·select前面写表中的列名,固然是*表示在结果中显得表中装有列

·在select前边的列名部分,能够行使as为列起外号,那些别名出以往结果集中

倘若要询问七个列,之间利用逗号分隔

本文由澳门新葡亰app发布于新葡亰数据库,转载请注明出处:create 操作表结构,当前物理的数据库都以依据

关键词: