字段值 详细介绍MySQL基础常用命令

本篇文章给大家带来了关于mysql基础命令总结,除了怎样连接数据库,修改密码以外,还有一些常用的命令,希望对大家有帮助。

本篇文章给大家带来了关于mysql基础命令总结,除了怎样连接数据库,修改密码以外,还有一些常用的命令,希望对大家有帮助。

一、连接MySQL格式: mysql -h主机地址 -u用户名 -p用户密码1、连接到本机上的MySQ: 首先在打开cmd窗口,输入mysql -uroot -p ,然后空格进入MySQL控制台,MySQL的提示符是: mysql>。

mysql -uroot -p /*如果刚安装好MySQL,root是没有密码的*/

登录后复制

2、连接到远程主机上的MySQL: 假设远程主机的IP为:192.168.206.100,用户名为root,密码为。

mysql> mysql -h192.168.206.100 -uroot -p12345678; /*u与root可以不加空格*/

登录后复制

3、退出MySQL命令: exit 或 quit(回车):

mysql> exit/quit;

登录后复制

二、MySQL–修改密码格式: -u用户名 -p旧密码 新密码1、root密码为空时,设置root密码:

mysql> mysqladmin -uroot newpassword;   -- 因为开始时root没有密码,所以-p旧密码 可以省略

登录后复制

2、使用 命令修改密码:

mysql> mysqladmin -uroot -p123456 password 12345678;

登录后复制

3、使用set 命令修改密码:

mysql> set password for 用户名@localhost = password('新密码');

登录后复制

4、忘记root密码情况下:

①关闭正在运行的MySQL服务。

②打开DOS窗口,转到mysqlbin目录。

③输入 –skip-grant-回车。–skip-grant- 的意思是启动MySQL服务的时候跳过权限表认证。

④再开一个DOS窗口(因为刚才那个DOS窗口已经不能动了),输入mysql回车,如果成功,将出现MySQL提示符 >。

⑤连接权限数据库: use mysql; 。

⑥改密码: user set =(“新密码”) where user=”root”;(别忘了最后加分号) 。

⑦刷新权限(必须步骤):flush ;。

⑧退出mysql quit;。

mysqld --skip-grant-tables   
mysql> use mysql;   --连接权限数据库
mysql> update user set password=password("新密码") where user="root";   -- 改密码
mysql> flush privileges;    -- 刷新权限
mysql> quit;    -- 退出mysql

登录后复制

三、MySQL–常用命令

1、创建数据库()

mysql> create database db_name;  -- 创建数据库
mysql> show databases;           -- 显示所有的数据库
mysql> drop database db_name;    -- 删除数据库
mysql> use db_name;              -- 选择数据库
mysql> create table tb_name (字段名 varchar(20), 字段名 char(1));   -- 创建数据表模板
mysql> show tables;              -- 显示数据表
mysql> desc tb_name;            -- 显示表结构
mysql> drop table tb_name;      -- 删除表

登录后复制

例如:

/*创建学生表*/
create table Student(
     Sno char(10) primary key,
     Sname char(20) unique,
     Ssex char(2),
     Sage smallint,
     Sdept char(20)
);

登录后复制

2、插入数据()

into 语句用于向表格中插入新的行:

/*第一种形式无需指定要插入数据的列名,只需提供被插入的值即可:*/
mysql> insert into tb_name values (value1,value2,value3,...);
/*第二种形式需要指定列名及被插入的值:*/
mysql> insert into tb_name (column1,column2,column3,...) values (value1,value2,value3,...);

登录后复制

例如:

/*插入数据*/
mysql> insert into Student values ( 20180001,张三,男,20,CS);
mysql> insert into Student values ( 20180002,李四,男,19,CS);
mysql> insert into Student (Sno,Sname,Ssex,Sage,Sdept) values ( 20180003,王五,男,18,MA);
mysql> insert into Student (Sno,Sname,Ssex,Sage,Sdept) values ( 20180004,赵六,男,20,IS);

登录后复制

3、查询数据()

语句除了可以查看数据库中的表格和视图的信息外,还可以查看 SQL 的系统信息、复制、创建数据表。其查询功能强大,是SQL语言的灵魂语句,也是SQL中使用频率最高的语句。

基本语句:

一个基本的语句可分解成三个部分:查找什么数据()、从哪里查找(from)、查找的条件是什么(where)。

语句的一般格式如下:

[into 新表名]

from 表名或视图名

[where ]

[group by ]

[ ]

[order by [ASC|DESC]](一)查询指定的列

1.查询表中所有列在语句指定列的位置上使用*号时,表示查询表的所有列。

模板: * from ;

2.查询表中指定的列 查询多列时,列名之间要用逗号隔开。

模板: .,… from ;

3.指定查询结果中的列标题 通过指定列标题(也叫列别名)可使输出结果更容易被人理解。

指定列标题时,可在列名之后使用AS子句;也可使用:列别名=的形式指定列标题。

AS子句的格式为:列名或计算表达式 [AS] 列标题

模板: as 列标题1,as 列标题2, as 列标题3from ;

4.查询经过计算的列(即表达式的值)

使用对列进行查询时,不仅可以直接以列的原始值作为结果,而且还可以将列值进行计算后所得值作为查询结果,即子句可以查询表达式的值,表达式可由列名、常量及算术运算符组成。

查询结果计算列显示“无列名”,一般要给计算列加列标题。

其中:表达式中可以使用的运算符有:加+、减-、乘*、除/、取余%

模板: ,,列标题 = * nfrom ;

(二)选择行:选择表中的部分行或全部行作为查询的结果

格式: [all|] [top n[]]from 表名

1. 消除查询结果中的重复行 对于关系数据库来说,表中的每一行都必须是不同的(即无重复行)。但当对表进行查询时若只选择其中的某些列,查询结果中就可能会出现重复行。

在语句中使用关键字可以消除结果集中的重复行,

模板: [,,…] from ;

2. 限制查询结果中的返回行数

使用top选项可限制查询结果的返回行数,即返回指定个数的记录数。

其中:n是一个正整数,表示返回查询结果集的前n行;若带关键字,则表示返回结果集的前n%行。

模板: top n from ; /*查询前 n 的数据*/

模板: top n from ; /*查询前 n% 的数据*/

(三)查询满足条件的行: 用where子句实现条件查询

通过where子句实现,该子句必须紧跟在From子句之后。

格式为: [all|] [top n[]]from 表名where ;

说明:在查询条件中可使用以下运算符或表达式:

运算符 运算符标识

比较运算符 ,>=,!=,,!>,! 范围运算符 … and,not … and

列举运算符 in,not in

模糊匹配运算符 like,not like

空值运算符 is null,is not null

逻辑运算符 and,or,not

1.使用比较运算符:

模板: * from >= n ;

2.指定范围: 用于指定范围的关键字有两个:…and和 not …and。

格式为: * from [not] and ;

其中:关键字之后的是范围的下限(即低值),and关键字之后的是范围的上限(即高值)

用于查找字段值在(或不在)指定范围的行。3.使用列举:

使用in关键字可以指定一个值的集合,集合中列出所有可能的值,当表达式的值与集合中的任一元素个匹配时,即返回true,否则返回false。

模板: * from [not] in(值1,值2,…,值n);

4.使用通配符进行模糊查询:

可用like 子句进行字符串的模糊匹配查询,like子句将返回逻辑值(true或False)。

like子句的格式: * from [not] like ;

其含义是:查找指定字段值与匹配串相匹配的记录。匹配串中通常含有通配符%和_(下划线)。

其中:%:代表任意长度(包括0)的字符串

5.使用null的查询

当需要判定一个表达式的值是否为空值时,使用 is null关键字。

当不使用not时,若表达式的值为空值,则返回true,否则返回false;当使用not时,结果刚好相反。

模板: * from is [not] null;

6.多重条件查询:使用逻辑运算符

逻辑运算符and(与:两个条件都要满足)和or(或:满足其中一个条件即可)可用来联接多个查询条件。and的优先级高于or,但若使用括号可以改变优先级。

模板: * from = ” and > n;

(四)对查询结果排序

order by子句可用于对查询结果按照一个或多个字段的值(或表达式的值)进行升序(ASC)或降序(DESC)排列,默认为升序。

格式:order by {排序表达式[ASC|DESC]}[,…n];

其中:排序表达式既可以是单个的一个字段,也可以是由字段、函数、常量等组成的表达式,或一个正整数。

模板: * from by ;

(五)使用统计函数:又称集函数,聚合函数

在对表进行检索时,经常需要对结果进行计算或统计,T-SQL提供了一些统计函数(也称集函数或聚合函数),用来增强检索功能。统计函数用于计算表中的数据,即利用这些函数对一组数据进行计算,并返回单一的值。

常用统计函数表

函数名 功能

AVG 求平均值

count 求记录个数,返回int类型整数

max 求最大值

min 求最小值

sum 求和

1. SUM和AVG

功能:求指定的数值型表达式的和或平均值。

模板: avg() as 平均数,sum() as 总数 from =’字符串’;

2. Max和Min

功能:求指定表达式的最大值或最小值。

模板: max() as 最大值,min() as 最小值from ;

3. count

该函数有两种格式:count(*)和count([all]|[] 字段名),为避免出错,查询记录个数一般使用count(*),而查询某字段有几种取值用count( 字段名)。

(1).count(*):

功能:统计记录总数。

模板: count(*) as 总数from ;

(2).count([all]|[] 字段名)

字段值 详细介绍MySQL基础常用命令

功能:统计指定字段值不为空的记录个数,字段的数据类型可以是text、image、ntext、之外的任何类型。

模板: count() as 总数from ;

(六)对查询结果分组

group by子句用于将查询结果表按某一列或多列值进行分组,列值相等的为一组,每组统计出一个结果。该子句常与统计函数一起使用进行分组统计。

格式为:group by 分组字段[,…n][ ];

1.在使用group by子句后

列表中只能包含:group by子句中所指定的分组字段及统计函数。

2.子句的用法

子句必须与group by 子句配合使用,用于对分组后的结果进行筛选(筛选条件中常含有统计函数)。

3. 分组查询时不含统计函数的条件

通常使用where子句;含有统计函数的条件,则只能用子句。

模板: ,count(*) as 列标题from =’字符串’group by ;

4、修改数据()

语句用于修改表中的数据。

格式: set 列名称 = 新值 where 列名称 = 某值;

5、删除数据()

删除单行

格式: from where 列名称 = 某值;

删除所有行

可以在不删除表的情况下删除所有的行。这意味着表的结构、属性和索引都是完整的:

格式: * from 或 from ;四、MySQL — alter命令alter add命令用来增加表的字段。

alter add命令格式:alter table表名 add字段类型其他;

例如,在表中添加了一个字段,类型为int(4),默认值为0:

mysql> alter table MyClass add passtest int(4) default '0';

登录后复制

添加两个字段

mysql> alter table Person add age int,add address varchar(11);

登录后复制

删除两个字段

mysql> alter table Person drop column age,drop column address;

登录后复制

修改字段的注释

mysql> alter table `student` modify column `id` comment '学号';

登录后复制

1)加索引

mysql> alter table表名 add index索引名 (字段名1[,字段名2 …]);

 mysql> alter table employee add index emp_name (name);

登录后复制

2)加主关键字的索引

mysql> alter table表名 add key (字段名);

mysql> alter table employee add primary key(id);

登录后复制

3)加唯一限制条件的索引

mysql> alter table表名 add 索引名 (字段名);

 mysql> alter table employee add unique emp_name2(cardnumber);

登录后复制

4)删除某个索引

mysql> alter table表名 drop index索引名;

mysql>alter table employee drop index emp_name;

登录后复制

5)增加字段

mysql> ALTER TABLE table_name ADD field_name field_type;

登录后复制

6)修改原字段名称及类型

mysql> ALTER TABLE table_name CHANGE old_field_name new_field_name field_type;

登录后复制

7)删除字段

MySQL ALTER TABLE table_name DROP field_name;

登录后复制

五、MySQL — 应用学生-课程数据库学生表:(Sno,Sname,Ssex,Sage,Sdept)

课程表:(Cno,Cname,Cpno,)

学生选课表:SC(Sno,Cno,Grade)

关系的主码加下划线表示。各个表中的数据示例如图所示:表

学号

Sno

姓名

Sname

性别

Ssex

年龄

Sage

所在系

Sdept

张三

20

CS

李四

19

CS

王五

18

MA

赵六

20

IS

课程号

Cno

课程名

Cname

先修课

Cpno

学分

数据库

数学

信息系统

操作系统

数据结构

数据处理

语言

SC表

学号

Sno

课程号

Cno

成绩

Grade

92

85

88

90

80

建立一个“学生”表:

create table Student(
  Sno char(9) peimary key, /*列级完整性约束条件,Sno是主码*/
  Sname char(20) unique, /* Sname取唯一值*/
  Ssex char(2),
  Sage smallint,
  Sdept char(20)
);

登录后复制

建立一个“课程”表:

create table Course(
  Sno char(4) primary key, /*列级完整性约束条件,Cname不能取空值*/
  Sname char(40) not null, /*Cpno的含义是先修课*/
  Cpno char(4)
  Ccredit smallint,
  foreign key (Cpnoo) references Course(Cno) /*表级完整性约束条件,Cpno是外码,被参照表是Course,被参照列是Cno*/
);

登录后复制

建立学生选课表SC:

create table SC(
  Sno char(9),
  Cno char(4),
  Grade smallint,
  frimary key (Sno,Cno), /*主码由两个属性构成,必须作为表级完整性进行定义*/
  foreign key (Sno) references Student(Sno), /*表级完整性约束条件,Sno是外码,被参照表是Student*/
  foreign key (Cno) references Course(Cno)   /*表级完整性约束条件,Cno是外码,被参照表是Course */
);

登录后复制

推荐学习:mysql视频教程

现在最火的发帖平台

产品推广媒体 做互联网传播,有哪些推广渠道?

2024-5-3 20:01:54

现在最火的发帖平台

什邡市环保局局长 四川什邡:新"愚公移山"整治磷石膏污染

2024-5-3 20:02:56

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索