最新消息:觉得本站不错的话 记得收藏哦 博客内某些功能仅供测试 讨论群:135931704 快养不起小站了 各位有闲钱就打赏下把 My Email weicots#gmail.com Please replace # with @

Mysql 常用命令

LINX-SQL ajiang-tuzi 8663浏览

在对MySQL数据库进行操作时,有时候需要对数据库中的记录进行统计,例如求平均值、最小值或最大值等,这时可以使用MySQL中的统计函数。

常用的统计函数如下表所示:

名称 说明
avg(字段名) 获取指定列的平均值。
count(字段名) 如果指定了一个字段,则会统计出该字段中的非空记录。如果在前面增加DISTINCT,则会统计不同值的记录,相同的值当做一条记录。如果使用count(*),则统计包含空值的所有记录数。
min(字段名) 获取指定字段的最小值。
max(字段名) 获取指定字段的最大值。
std(字段名) 指定字段的标准背离值。
stdtev(字段名) 与std相同。
sum(字段名) 指定字段所有记录的总和。

where条件语句

在使用查询语句时,比如要从很多的记录中查询出想要的记录,就需要一个查询的条件。只有设定了查询的条件,查询才有实际的意义。

设定查询条件应用的是where子句。

通过where子句,可以实现很多复杂的条件查询。在使用where子句时,需要使用一些比较运算符。常用的比较运算符如下表所示:

运算符 名称 示例
= 等于 id=10
> 大于 id>10
< 小于 id<10
>= 大于等于 id>=10
<= 小于等于 id<=10
!=或<> 不等于 id!=10
is null n/a id is null
is not null n/a id is not null
between n/a id between 1 and 15
in n/a id in(3,4,5)
not in n/a xuesheng not in(shi,li)
like 模式匹配 xuesheng like(‘shi%’)
not like 模式匹配 xuesheng not like(‘shi%’)
regexp 常规表达式 xuesheng正则表达式
MySql #赋值操作符"="与":=" 1. “:=” 是真正意义上的赋值操作,左边的变量设置为右边的值。
#2. "=" 则只在两种情况下作为赋值用,第一种就是在SET语句里面,SET var = value;
 另一种是在UPDATE语句里面的那个SET,如update table_name set column_name where....。
#除了这两种情况外"="则作为比较操作符使用。
#如果要查询一个表中的所有列,可以将其设置为“*”
select * from weicot;   // 查询数据表中的所有数据
#如果只查询一个表中的某一列或多列,可以直接输入列名,并以“,”分隔。
select name,listname from weicot;   // 查询数据表中name和listname列的数据
##多表查询
#既可以从一个数据表中查询,也可以从多个数据表中进行查询,多个数据表之间用“,”进行分隔,并且可以通过where子句使用连接运算来确定表之间的联系
select 表名.字段名 from 表1,表2... where 表1.字段=表2.字段 and 其它查询条件
#首先查看一下weicot_tb数据表中的数据记录。
select * from weicot_tb
#使用where子句,查询weicot_tb表,条件是name为liu的数据记录
select * from weicot_tb where name='liu';
/*ORDER BY对结果进行排序
使用ORDER BY可以对查询的结果进行升序(ASC)或降序(DESC)排列,在默认情况下,ORDER BY按升序输出结果。
如果要按降序排列可以使用DESC来实现。
在对含有null值的列进行排序时,如果按升序排列,null值将出现在最前面;如果按降序排列,null值将出现在最后面。*/
#查询tb_weicot表中的所有信息,按照“id”进行降序排列'
select * from tb_weicot order by id desc;
#查看表结构的命令
desc tablename
#查看表结构的命令2
show create table tablename
#MySQL命令行导出数据库:
#1,进入MySQL目录下的bin文件夹:cd MySQL中到bin文件夹的目录
#如我输入的命令行:cd C:\Program Files\MySQL\MySQL Server 4.1\bin
#(或者直接将windows的环境变量path中添加该目录)
#2,导出数据库:mysqldump -u 用户名 -p 数据库名 > 导出的文件名
#如我输入的命令行:mysqldump -u root -p news > news.sql (输入后会让你输入进入MySQL的密码)
#(如果导出单张表的话在数据库名后面输入表名即可)
#3、会看到文件news.sql自动生成到bin文件下
#命令行导入数据库:
#1,将要导入的.sql文件移至bin文件下,这样的路径比较方便
#2,同上面导出的第1步
#3,进入MySQL:mysql -u 用户名 -p
#如我输入的命令行:mysql -u root -p (输入同样后会让你输入MySQL的密码)
#4,在MySQL-Front中新建你要建的数据库,这时是空数据库,如新建一个名为news的目标数据库
#5,输入:mysql>use 目标数据库名
#如我输入的命令行:mysql>use news;
#6,导入文件:mysql>source 导入的文件名;
#如我输入的命令行:mysql>source news.sql;
#MySQL备份和还原,都是利用mysqldump、mysql和source命令来完成的。
#1.Win32下MySQL的备份与还原
#1.1 备份
#开始菜单 | 运行 | cmd |利用“cd \Program Files\MySQL\MySQL Server 5.0\bin”命令进入bin文件夹 | 利用“mysqldump -u 用户名 -p databasename #>exportfilename”导出数据库到文件,如mysqldump -u root -p voice>voice.sql,然后输入密码即可开始导出。
#1.2 还原
#进入MySQL Command Line Client,输入密码,进入到“mysql>”,输入命令"show databases;",回车,看看有些什么数据库;建立你要还原的数据库,输入"create #database voice;",回车;切换到刚建立的数据库,输入"use voice;",回车;导入数据,输入"source voice.sql;",回车,开始导入,再次出现"mysql>"并且没##有提示错误即还原成功。
#2.Linux下MySQL的备份与还原
#2.1 备份
[root@localhost ~]# cd /var/lib/mysql (进入到MySQL库目录,根据自己的MySQL的安装情况调整目录)
[root@localhost mysql]# mysqldump -u root -p voice>voice.sql,输入密码即可。
2.2 还原
法一:
[root@localhost ~]# mysql -u root -p 回车,输入密码,进入MySQL的控制台"mysql>",同1.2还原。
法二:
[root@localhost ~]# cd /var/lib/mysql (进入到MySQL库目录,根据自己的MySQL的安装情况调整目录)
[root@localhost mysql]# mysql -u root -p voice<voice.sql,输入密码即可。
#sql添加、删除表中的列    .

#添加没有默认值:
alter table Test add BazaarType char(1)

#有默认值的添加列:
alter table Test add BazaarType char(1) default(0)

#删除没有默认值的列:
alter table Test drop COLUMN BazaarType

#删除有默认值的列:先删除约束(默认值)alter table Test DROP CONSTRAINT DF__Test__BazaarType__3C4ACB5F,然后在删除列
 alter table Test DROP COLUMN BazaarType

#系统自带的查询约束条件的存储过程:exec sp_helpconstraint 表名

#添加字段:
#允许空字符: alter table 表名 add 新字段 字段类型 NULL

#不允许空字符: alter table 表名 add 新字段 字段类型 not NULL

#增加字段
 alter table docdsp add dspcode char(200)
 #删除字段 
 ALTER TABLE table_NAME DROP COLUMN column_NAME
 #修改字段类型
 ALTER TABLE table_name ALTER COLUMN column_name new_data_type
 #改名
 sp_rename
 #更改当前数据库中用户创建对象(如表、列或用户定义数据类型)的名称。

#语法
 sp_rename [ @objname = ] 'object_name' ,
     [ @newname = ] 'new_name'
     [ , [ @objtype = ] 'object_type' ]

 
#假设要处理的表名为: tb

#判断要添加列的表中是否有主键
 if exists(select 1 from sysobjects where parent_obj=object_id('tb') and xtype='PK')
 begin
 print '表中已经有主键,列只能做为普通列添加'

#添加int类型的列,默认值为0
 alter table tb add 列名 int default 0 
 end
 else
 begin
 print '表中无主键,添加主键列'

#添加int类型的列,默认值为0
 alter table tb add 列名 int primary key default 0 
 end

常用整理

1:删除列

ALTER TABLE 【表名字】 DROP 【列名称】

2:增加列

ALTER TABLE 【表名字】 ADD 【列名称】 INT NOT NULL? COMMENT ‘注释说明’

3:修改列的类型信息

ALTER TABLE 【表名字】 CHANGE 【列名称】【新列名称(这里可以用和原来列同名即可)】 BIGINT NOT NULL? COMMENT ‘注释说明’

4:重命名列

ALTER TABLE 【表名字】 CHANGE 【列名称】【新列名称】 BIGINT NOT NULL? COMMENT ‘注释说明’

5:重命名表

ALTER TABLE 【表名字】 RENAME 【表新名字】

6:删除表中主键

Alter TABLE 【表名字】 drop primary key

7:添加主键

ALTER TABLE sj_resource_charges ADD CONSTRAINT PK_SJ_RESOURCE_CHARGES PRIMARY KEY (resid,resfromid)

8:添加索引

ALTER TABLE?sj_resource_charges add index INDEX_NAME (name);

9: 添加唯一限制条件索引

ALTER TABLE sj_resource_charges add unique emp_name2(cardnumber);

10: 删除索引

alter table tablename drop index emp_name;

 

转载请注明:(●--●) Hello.My Weicot » Mysql 常用命令

蜀ICP备15020253号-1