MySQL基础命令


1.1回顾重点 4

1.2数据库简介 4

1.3数据库的发展史 5

1.3.1层次模型 5

1.3.2网状模型 6

1.3.3关系模型 6

1.4Sql语句简介 7

1.5连接数据库 8

1.6退出数据库 9

1.7数据库操作 10

1.7.1创建数据库 10

1.7.2查询数据库 11

1.7.3显示数据库的创建语句 11

1.7.4更改数据库 11

1.7.5删除数据库 12

1.7.6选择数据库 12

1.8数据表的操作 13

1.8.1几个概念 13

1.8.2创建表 13

1.8.3数据类型 13

1.8.4例题:创建一个简单的表 15

1.8.5查看所有表 15

1.8.6显示创建表的SQL语句 15

1.8.7显示表结构 16

1.8.8删除表 16

1.8.9创建复杂的表 17

1.9数据操作 17

1.9.1插入数据(增) 17

1.9.2修改数据(改) 18

1.9.3删除数据(删) 18

1.9.4查询数据(查) 18

1.10运算符 20

1.10.1比较运算符 20

1.10.2逻辑运算符 21

1.11聚合函数 21

1.1 回顾重点

1、 elseif else if的区别

这两个结果都是一样的,elseif是多分支语句,else ifif的嵌套语句

2、 在一个循环Nfor循环中,初始值执行几次?条件判断几次?增量执行几次?

初始值1

条件N+1

增量N

3、 访问全局变量用$GLOBALS

1.2 数据库简介

数据库是存放数组的仓库数据不是直接放到数据库中数据库中放的是表表中存放的是数据

1.3 数据库的发展史

q 萌芽阶段——文件系统

q 使用磁盘文件来存储数据

q 初级阶段——第一代数据库

q 出现了网状模型、层次模型的数据库

q 中级阶段——第二代数据库

q 关系型数据库和结构化查询语言

q 高级阶段——新一代数据库

q “关系-对象”型数据库

1.3.1 层次模型

层次模型是一种导航结构,

优点分类管理如果查询同一类的数据是很方便的

缺点如果查询很多不是同一类的数据效率就很低了

层次结构可以造成数据无效,比如张经理管理了一个员工叫张三,李经理也管理了一个叫张三,我们无法区分张三是一个人还是两个人。

1.3.2 网状模型

网状模型解决了层次模型数据无效的问题但是没有解决导航问题

查询某个销售代表的发表是很方便的但是查询10月份的发票效率就很低了。

1.3.3 关系模型

关系模型中,每个表都是独立的,通过公共字段来建立关系。

优点:表是独立的,需要什么数据就到那个表中查询。

缺点:多表查询的时候效率低下。

关系两个表的公共字段叫关系

1.4 Sql语句简介

Structured Query Language,结构化查询语言是用来操作关系型数据库的

常用的关系型数据库有:

Access

MySQL

Sql server

Oracle

标准SQL是所有关系型数据库都支持的操作语句,标准SQL也叫SQL-92。但是每个数据库在标准SQL的基础上又扩展了自己的东西

数据库

扩展了标准SQL形成的新语句

SQL server

T-Sql

Oracle

PL/Sql

MySql

MySql

问题:orace支持标准SQL,在oracle上编写的PL/Sql,能否运行到mysql上?

不可以

1.5 连接数据库

安装好数据库以后,MySQL自带一个MySQL命令行客户端,这个客户端很方便,但是只能连接本地的MySQL

我们用windows命令行连接数据库

 

几个DOS命令

DOS环境下命令后面没有分号,在Mysql环境下,命令后面后分号。

1、 进入盘符:

a) 语法:  盘符:   比如

2、 进入盘符下某个文件夹

a) 语法  cd  路径

上一级目录  ../

进入根目录 /表示根

连接MySQL服务器需要的参数

Host: 主机 -h

Username: 用户名 -u

Password: 密码 -p

Port: 端口 -P

F:\>cd F:\wamp\bin\mysql\mysql5.5.8\bin

F:\wamp\bin\mysql\mysql5.5.8\bin>mysql -hlocalhost -uroot -p -P3306

端口号是3306,可以省略端口号

mysql -u root -h localhost -p

如果连接的是本地MySQL,数据库地址也是可以省略。

mysql -uroot -p

1.6 退出数据库

1、 exit

2、 quit

3、 \q

1.7 数据库操作

数据库本质就是一个文件。操作数据库的软件叫数据库管理系统。

1.7.1 创建数据库

语法

Createdatabase 数据名 [charset=字符编码]

Create:创建

Database:数据库

如果创建的数据库已经操作会报错

创建的时候判断一下如果不存在就创建

语法

Createdatabase if not exists数据库名

如果创建的数据库名字是一个关键字,会怎么样?

解决:在名字上加上反引号

创建数据库的时候指定字符编码

1.7.2 查询数据库

Show databases

1.7.3 显示数据库的创建语句

Show create database数据库名

1.7.4 更改数据库

更改数据库的字符编码

alter database 数据库名 [选项]

alter:修改

1.7.5 删除数据库

语法:

Drop database数据库名

Drop:删除

如果删除不存在的数据库会报错

在删除数据库的时候判断数据库是否存在如果存在才删除

Dropdatabase if exists数据库名

1.7.6 选择数据库

语法:

Use 数据库名

1.8 数据表的操作

1.8.1 几个概念

stuid

classid

schoolid

stuname

stusex

stuadd

stuage

1

1

1

李白

北京

20

1

2

2

杜甫

地址不详

18

行也叫记录一行就是一条记录

也叫字段,一列是一个字段。字段也叫属性

一个表中包括多个字段

1.8.2 创建表

语法:

Createtable 表名(

字段1   数据类型  [null|not null] [default] [auto_increment] [primary key],

字段2   数据类型

)

not null:不为空

default:默认值

auto_increment:自动增长

primary key:主键

主键的特点不能重复不能为空

一个表只能有一个主键主键可以由多个字段一起组成

1.8.3 数据类型

int:整型

decimal(总位数,小数位数)  存小数  decimal(3,1)   

char(10)定长

varchar(10):可变长度

text: 大段文本

思考

Q Q一般用什么类型? varchar

手机号一般用什么类型? char()

1.8.4 例题:创建一个简单的表

表名:stu

字段名:

Stuid  int,

Stuname  varchar(10)

1.8.5 查看所有表

语法

Showtables;

1.8.6 显示创建表的SQL语句

语法:

Show createtable  表名 [\G]

\G:表示table字段和create table字段竖排。

1.8.7 显示表结构

describe [desc]  表名

describe  :描述

1.8.8 删除表

Droptable 表名

Drop table 1,2,3

1.8.9 创建复杂的表

1.9 数据操作

1.9.1 插入数据(增)

语法

insert into 表名 (字段名1,字段2) values (1,2);

练习

--插入数据

insert into stu (id,name,sex,`add`) values (1,'李白','','北京');

insert into stu (id,name,sex,`add`,score) values (2,'杜甫','','上海',99);

--插入字段可以和数据库中的字段的顺序不一致,但是值和插入字段的顺序必须相一致

insert into stu (name,id,`add`,score,sex) values ('李小白',3,'北京',null,'');

--插入字段是可以省略的,插入的值和数据表的字段顺序和个数都一致

insert into stu values (4,'白居易','','北京',86);

--自动增长的插入

insert into stu values (null,'李清照','','上海',77);

--默认值的插入

insert into stu values (null,'辛弃疾','',default,68);

1.9.2 修改数据(改)

语法

Update表名 set字段1=1,字段2=2 where 条件

练习

--把‘李白’的性别改成''

update stu set sex='' where name='李白';

--思考,如下语句结果是什么?

update stu set sex='';

--将所有字段的sex都变成了‘女’

--2号学生性别改成''

update stu set sex='' where id=2;

--3号的学生性别改成‘男’,地址改成‘天津’

update stu set sex='' where id=2;

1.9.3 删除数据(删)

语法:

Delete from [where 条件]

例题

--删除李白

 delete from stu where name='李白';

-- 思考:如下语句输出什么?

delete from stu;  --stu表中的数据全部删除

--删除学生是6号的学生

 delete from stu where id=6;

1.9.4 查询数据(查)

语法

Select列名 from[where条件] [order by排序字段 asc|desc][limit 起始位置获取的记录数]

由低到高排序:升序 asc

由高到低排序:降序  desc

默认是升序排列

Limit中的起始位置是从0开始的。

/**

查询

*/

--查询所有学生的姓名和性别

 select name,sex from stu;

 --查询所有学生的所有字段

 select id,name,sex,`add`,score from stu;

--通过*号来代替所有字段

select * from stu;

--查询所有男生的信息

 select * from stu where sex='';

--查询上海的男生

select * from stu where sex='' and `add`='上海';

--查询所有的女生和上海的男生

 select * from stu where sex='' or (sex='' and `add`='上海');

--查询北京和上海的学生

 select * from stu where `add`='上海' or `add`='北京';

--查询成绩大于等于90分的学生

select * from stu where score>=90;

--按成绩由高到底排列

 select * from stu order by score desc;

 --女生按成绩有底到高排列

 select * from stu where `sex`='' order by score asc;

/**

limit  限制

*/

--取前3条数据

select * from stu limit 3;

select * from stu limit 0,3;

--从第一条开始[0是最上面一条],去3

select * from stu limit 1,3;

--去白居易和李清照

select * from stu limit 3,2;

--找出前三名(按成绩反向排序)

select * from stu order by score desc limit 3;

--找出第一名同学

 select * from stu order by score desc limit 0,1;

1.10 运算符

1.10.1 比较运算符

运算符

描述

>

大于

>=

大于等于

<

小于

<=

小于等于

=

等于

<>

不等于

1.10.2 逻辑运算符

运算符

描述

and

or

not

1.11 聚合函数

Sum():求和

Avg():求平均值

Max()最大值

Min():最小值

Count():记录数

--求最高分

select max(score) from stu;

--求最低分:

select min(score) from stu;

--求和

 select sum(score) from stu;

 --求平均值

 select avg(score) from stu;

 --总人数

 select count(*) from stu;

--男生人数

 select count(*) from stu where sex='';

一篇不错的mysql主从

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值