mysql新增表不去重_MySQL基础

本文详细介绍了MySQL的安装过程,并详细阐述了数据库的基本操作,包括创建、查询、修改和删除数据库及表。讲解了DDL、DML、DQL和DCL语句,以及数据类型、查询条件、聚合函数和连接查询等概念。同时,还涵盖了数据的备份与恢复方法,是MySQL初学者全面了解和掌握数据库操作的实用指南。
摘要由CSDN通过智能技术生成

数据库

用来存储数据的仓库,本质是个文件(结构化的文件)。

数据可以持久化存储或缓存。持久化存储再磁盘内。缓存在内存中

1

2

mysql操作步骤

1- 安装mysql

去网站直接加载(具体安装步骤查看mysql安装)

2- cmd中安装mysql

sudo apt-get install mysql-server

3- 登录数据库

mysql -u root -p

SQL分类

DDL: Date Definition Language:数据定义语言,用户创建、修改、删除表结构

DML: Date Manipulation Language:数据操作语言,用于对数据表进行增删改的操作

DQL: Date Query Language:数据查询语言,用于负责数据表的查询工作

DCL: Date Contril Language:数据控制语言,用来定义访问权限和安全级别

DDL

1- 创建数据库

create database user charset=utf8;;

2- 切换数据库

use user;

3- 查看数据库信息

select database();

4- 查看系统中所有数据库

show databases;

5- 推出数据库

exit

6- 查看所有表

show tables

7- 创建表

create table User(

sname varchar(20) primary key,

sage int,

ssex varchar(20) not null,

sbirthday datetime,

);

8- 查看表结构

desc User

9- 修改表名

alter table User rename userinfo;

10- 修改字段类型

alter table userinfo modify ssex varchar(10)

11- 替换字段

alter table userinfo change ssex sgender varchar(10)

12- 新增字段

alter table userinfo add ssore int after sages;

13- 删除字段

alter table userinfo drop ssore.

14- 字段排行

数据库的数据类型

1- 数字类型

int 大小正负: 2147483648

tinyint 大小正负:128

smallint 大小正负:32767 (3w)2^15

mediumint 大小正负:8388608 (百万)2^23

bigint 大小正负:9223372036854775808 (百亿亿)2^53

floalt 大小正负:

double 大小正负:

decimal 大小正负:

2- 时间类型

data

datatime

timetamp

time

year

3- 字符串类型

char 大小正负:255 (默认为1)

varchar 大小正负:255

blob/text 大小正负:65535

tinyblob/tinytext

mediumblob/mediumtext (1千6百万)

longblog/longtext (42亿)

enum

DML

1- 插入整条数据

insert into stu(sname,sage,sgender,sbirthday) values(‘张三‘,20,‘男‘,1990,1,1),(‘李四‘,20,‘男‘,‘2000,1,1‘);

2- 插入部分数据

insert into stu(sname) values(‘王五‘)

3- 更新数据

update stu set sgender=‘female‘,sage=18 where sname=‘王五‘;

4- 删除数据

delete from stu where sname=‘王五‘;

drop table stu(删除表)

drop database user(删除数据库)

5- 查看数据

select * from stu

DQL

1- 条件查询

between..and.. (两则都包含,左右都为闭区间)

and

or

in

not in

is

is not

2- 模糊查询

where子句中=表示精准查询

like:与where配合使用进行模糊查询

通配符:

_:匹配任一个字符

select from user where name like "zhang___"

%:匹配0-n个字符【n>=1】

select from user where name like "%wang%"

3- 起别名

select name as username from user(并不改变原表)

4- 去重

select distinct sex from user

5- 排序

asc:升序

desc:降序

select * from user order by sex asc,age desc

聚合函数

聚合函数也数据DQL中

1- count()查总数

select count(*) from stu where sage>=18;

2- sum()己算指定列的数值和

select sum(sage) from stu;

3- max() / min()最大最小值

slect max(sage) from stu;

4- avg()平均值

select avg(sage) from stu

5- 分组

group by

6- 分页

约束

1- 主键约束(primary key)

1- 方式一:

create table stu1(

id int primary key,

name varchar(50),

);

2-方式二:

create table stu2(

id int,

name varchar(50),

primary key(id,name)

)

3- 方式三:

create table stu3(

id int,

name varchar,

)

alter table stu3 add constraint stu3_id primary key(id)

查询

1- 联合查询并去重

select from A union select from B;

2- 联合查询不去重

select from A union all select from B;

3- 连接查询 (两表相乘,返回结果)

select from A,B;

4- 去乘连接查询(只显示两表id相同的字段)

select stu1.name,class1.score,class1.courseid from stu1,class1 where student1.stuid=class.stuid;

5- 取别名

select s.name,c.score,c.courseid from stu1 s,class1 c where s.id=c.id;

5- 内连接

select s.name,c.score,c.courseid from stu1 s join class1 c on s.id=c.id;

6- 内连接后添加条件 (将查询出的数据添加条件score>90)

select s.name,c.score,c.courseid from stu1 s,class c where s.id=c.id and score>90;

7- 左连接 (将左表所有字段显示,字段为空则显示null)

select from student s left join class c on s.id=c.id

备份与恢复

备份

1- 进入指定备份目录

2- 获取需要备份的数据库mydb1

3- 指定文件名mydb1.sql(在某某目录下某某文件)

4- 指定命令

mysqldump -u root -p mydb1>/home/rock/Desktop/mydb1.sql

恢复

1- 进入mysql

mysql-uroot-p

2- 创建数据库

create database mysqldb1 charset=utf8;

3- 找到备份文件

/home/rock/Desktop/mydb1.sql;

3- 指定恢复命令

source /home/rock/Desktop/mydb1.sql;

note:

1- 修改密码:

set password for [email protected]=password(‘123456‘)2- 在创建虚拟环境时。可在环境变量中新增WORKON_HOME变量名来定义环境变量安装默认路径。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值