MYSQL 命令:
mysql -h主机地址 -u用户名 -p密码 连接MYSQL;如果刚安装好MYSQL,超级用户root是没有密码的。
(例:mysql -h110.110.110.110 -Uroot -P123456 注:u与root可以不用加空格,其它也一样)
mysqladmin -u用户名 -p旧密码 password 新密码 修改密码
grant select on 数据库.* to 用户名@登录主机 identified by \"密码\"; 增加新用户。(注意:和上面不同,下面的因为是MYSQL环境中的命令,所以后面都带一个分号作为命令结束符)
show databases; 显示数据库列表。刚开始时才两个数据库:mysql和test。mysql库很重要它里面有MYSQL的系统信息,我们改密码和新增用户,实际上就是用这个库进行操作。
use mysql;
mysqldump --opt school>school.bbb 备份数据库:(命令在DOS的 \\mysql\\bin目录下执行);注释:将数据库school备份到school.bbb文件,school.bbb是一个文本文件,文件名任取,打开看看你会有新发现。
mysql -h主机地址 -u用户名 -p密码 连接MYSQL;如果刚安装好MYSQL,超级用户root是没有密码的。
(例:mysql -h110.110.110.110 -Uroot -P123456 注:u与root可以不用加空格,其它也一样)
mysqladmin -u用户名 -p旧密码 password 新密码 修改密码
grant select on 数据库.* to 用户名@登录主机 identified by \"密码\"; 增加新用户。(注意:和上面不同,下面的因为是MYSQL环境中的命令,所以后面都带一个分号作为命令结束符)
show databases; 显示数据库列表。刚开始时才两个数据库:mysql和test。mysql库很重要它里面有MYSQL的系统信息,我们改密码和新增用户,实际上就是用这个库进行操作。
use mysql;
mysqldump --opt school>school.bbb 备份数据库:(命令在DOS的 \\mysql\\bin目录下执行);注释:将数据库school备份到school.bbb文件,school.bbb是一个文本文件,文件名任取,打开看看你会有新发现。
create database DATABASE_NAME; //建库
create table TABLE_NAME (FIELD设定列表); //建表
use DATABASE_NAME //使用数据库
show tables //显示库中的数据表
describe TABLE_NAME //显示数据表的结构
desc TABLE_NAME //显示数据表的结构
truncate TABLE_NAME //将表中记录清空,并初始化主键id
exit //退出MYSQL
create table TABLE_NAME (FIELD设定列表); //建表
use DATABASE_NAME //使用数据库
show tables //显示库中的数据表
describe TABLE_NAME //显示数据表的结构
desc TABLE_NAME //显示数据表的结构
truncate TABLE_NAME //将表中记录清空,并初始化主键id
exit //退出MYSQL
now() //当前时间
FIELD regexp '正则' //正则匹配
length(FIELD) //查看某字段的长度
concat(FIELD1,FIELD2) //连接字符串(字符串相加)
substr (FIELD,start,length) //截取字符串,从0开始的n位
adddate('日期',n); //算n天之后的日期
datediff('日期','到达的日期') //两个日期的时间差
curdate(); //只得到当前的日期
unix_timestamp() //1970-1-1到至今的时间差
curtime() //格式化当前时间
FIELD regexp '正则' //正则匹配
length(FIELD) //查看某字段的长度
concat(FIELD1,FIELD2) //连接字符串(字符串相加)
substr (FIELD,start,length) //截取字符串,从0开始的n位
adddate('日期',n); //算n天之后的日期
datediff('日期','到达的日期') //两个日期的时间差
curdate(); //只得到当前的日期
unix_timestamp() //1970-1-1到至今的时间差
curtime() //格式化当前时间
数学函数
max(FIELD) //最大值
min(FIELD) //最小值
avg(FIELD) //平均数
modmod(除数,被除数) //求模
div 除数\被除数 //整除输出(没有四舍五入)
ceil(小数) //取整
round(小数) //四舍五入取整
floor(小数) //取整(不四舍五入)
sin (除数/被除数) //除后取整()
cos(pi()) //输出圆周率
conv(NUMBER) //专程二进制输出
pow(数字1,-数字2) //数字1个数字2次方
rand(给一个种子(一个数)) //生成随机数
exp(数字) //e的n次方
sign(数字) //如过是整数 =1 是负数 =-1
truncate(小数) //截断小数的多少位
max(FIELD) //最大值
min(FIELD) //最小值
avg(FIELD) //平均数
modmod(除数,被除数) //求模
div 除数\被除数 //整除输出(没有四舍五入)
ceil(小数) //取整
round(小数) //四舍五入取整
floor(小数) //取整(不四舍五入)
sin (除数/被除数) //除后取整()
cos(pi()) //输出圆周率
conv(NUMBER) //专程二进制输出
pow(数字1,-数字2) //数字1个数字2次方
rand(给一个种子(一个数)) //生成随机数
exp(数字) //e的n次方
sign(数字) //如过是整数 =1 是负数 =-1
truncate(小数) //截断小数的多少位
group_concat(expr) //不知道怎么用
||(or)或 &&(and)与 <=>全等于 =等于 |和 in <<向左移两位 >>向又移两位 true(真) false(假) null(空)
update TABLE_NAME set FIELD=VALUE,FIELD=VALUE... where FIELD=VALUE //修改表中的数据
update TABLE_NAME set FIELD=(FIELD2+FIELD3)/2*0.8 //msql中的数据可以进计算
update TABLE_NAME set FIELD=concat(FIELD,FIELD) //mysl中连接字符串
update TABLE_NAME set FIELD=(FIELD2+FIELD3)/2*0.8 //msql中的数据可以进计算
update TABLE_NAME set FIELD=concat(FIELD,FIELD) //mysl中连接字符串
select * from TABLE_NAME //显示表中的记录
select * from TABLE_NAME limit 10,10 //从第十条开始向后查十条数据
select * from TABLE_NAME where FIELD like '%VALUE%' //模糊查询(有可能是多条数据)
select * from TABLE_NAME where FIELD like '___' // 查询FIELD为三个字的所有数据
select * from TABLE_NAME order by id desc //根据id倒序输出
select * from TABLE_NAME order by id //根据id正序输出
select * from TABLE_NAME order by id desc limit 10,10 //先倒序再从第十条开始向后查十条数据
select * from TABLE_NAME group by FIELD(FIELD) //不显示重复数据
select distinct FIELD FROM TABLE_NAME; //查看FIELD中没有重复的数据
select * from TABLE_NAME where FIELD in (v1,v2,v3,...) //查看表中某FIELD值为v1,v2,v3,... 的数据
select * from TABLE_NAME where length(FIELD) > 40; //查看表中某FIELD长度大于40的所有数据
select count(*) from TABLE_NAME //查看数据总条数
select avg(FIELD) from TABLE_NAME //查看某FIELD的平均值
select sum(FIELD) from TABLE_NAME //查看某FIELD的和
select * from TABLE_NAME limit 10,10 //从第十条开始向后查十条数据
select * from TABLE_NAME where FIELD like '%VALUE%' //模糊查询(有可能是多条数据)
select * from TABLE_NAME where FIELD like '___' // 查询FIELD为三个字的所有数据
select * from TABLE_NAME order by id desc //根据id倒序输出
select * from TABLE_NAME order by id //根据id正序输出
select * from TABLE_NAME order by id desc limit 10,10 //先倒序再从第十条开始向后查十条数据
select * from TABLE_NAME group by FIELD(FIELD) //不显示重复数据
select distinct FIELD FROM TABLE_NAME; //查看FIELD中没有重复的数据
select * from TABLE_NAME where FIELD in (v1,v2,v3,...) //查看表中某FIELD值为v1,v2,v3,... 的数据
select * from TABLE_NAME where length(FIELD) > 40; //查看表中某FIELD长度大于40的所有数据
select count(*) from TABLE_NAME //查看数据总条数
select avg(FIELD) from TABLE_NAME //查看某FIELD的平均值
select sum(FIELD) from TABLE_NAME //查看某FIELD的和
select * from TABLE_NAME where id=(selece id from TABLE_NAME where=username) //子查询
select FIELD from 表1 join 表2 //联合查询(1)
select FIELD from table1 alias1 join table2 alias2 on table1.关联FIELD=table2.关联FIELD where 条件 //联合查询(2)
select FIELD from 表1 join 表2 //联合查询(1)
select FIELD from table1 alias1 join table2 alias2 on table1.关联FIELD=table2.关联FIELD where 条件 //联合查询(2)
delete from TABLE_NAME //将表中记录清空
join on 内连接,两个表必须有数据
inner join on 内连接,两个表必须有数据
left join on 左连接,左表为主表,左表必须有数所
right join on 右连接,右表为主表,右表必须有数据
inner join on 内连接,两个表必须有数据
left join on 左连接,左表为主表,左表必须有数所
right join on 右连接,右表为主表,右表必须有数据
alter table TABLE_NAME drop column COLUMN_NAME //删除一列信息
alter table TABLE_NAME add FIELD //给表添加一个FIELD
alter table TABLE_NAME drop column COLUMN_NAME //删除一列信息
rename table TABLE_NAME to newTable //更改表名
alter table TABLE_NAME add FIELD //给表添加一个FIELD
alter table TABLE_NAME drop column COLUMN_NAME //删除一列信息
rename table TABLE_NAME to newTable //更改表名
drop table 表名1,表名2,表名3 //删除表
drop trigger TRIGGER_NAME //删除某个触发器
drop database DATABASE_NAME //删除数据库
----------------------------------------------------------------------------------------------------------------------------
触发器
定义:触发器(trigger)是个特殊的存储过程,它的执行是由事件来触发执行的。
触发时间(new 更新前,old 更新后)
触发事件(update,insert,delete)
drop trigger TRIGGER_NAME //删除某个触发器
drop database DATABASE_NAME //删除数据库
----------------------------------------------------------------------------------------------------------------------------
触发器
定义:触发器(trigger)是个特殊的存储过程,它的执行是由事件来触发执行的。
触发时间(new 更新前,old 更新后)
触发事件(update,insert,delete)
DELIMITER |
CREATE TRIGGER trigger_name trigger_time trigger_event ON tbl_name
FOR EACH ROW [begin]
[if new.order_status=0 then]
insert into table2 set table1Column=new.table,table1Column=new.table;
update table1 set table1Column=new.table,table1Column=new.table where table1=;
[end if;]
end
|
----------------------------------------------------------------------------------------------------------------------------
mysql 中的事务
对 insert update delete 语句起作用
表引擎工设置为是 InnoDB
特点
1.原子性 (本么全做,要么不做)
2.一致性 (定单和商品信息同时存在)
3.隔离性 (多个事务可以同时存在逐个执行)
4.持久性 (即使服务器死机,数据也是完整的)
mysql_query('start transaction'); :开启事务
mysql_query(begin); :开启事务(是 start transaction的别名)
mysql_query('set autocommit=0/1'); :防止自动提交(可以不写,开启事务就是不能自动提交) 0不自动提交 1自动提交
mysql_query('commit'); :提交事务
mysql_query('rollback'); :回滚事务
CREATE TRIGGER trigger_name trigger_time trigger_event ON tbl_name
FOR EACH ROW [begin]
[if new.order_status=0 then]
insert into table2 set table1Column=new.table,table1Column=new.table;
update table1 set table1Column=new.table,table1Column=new.table where table1=;
[end if;]
end
|
----------------------------------------------------------------------------------------------------------------------------
mysql 中的事务
对 insert update delete 语句起作用
表引擎工设置为是 InnoDB
特点
1.原子性 (本么全做,要么不做)
2.一致性 (定单和商品信息同时存在)
3.隔离性 (多个事务可以同时存在逐个执行)
4.持久性 (即使服务器死机,数据也是完整的)
mysql_query('start transaction'); :开启事务
mysql_query(begin); :开启事务(是 start transaction的别名)
mysql_query('set autocommit=0/1'); :防止自动提交(可以不写,开启事务就是不能自动提交) 0不自动提交 1自动提交
mysql_query('commit'); :提交事务
mysql_query('rollback'); :回滚事务
//直接操作数据库(注意:把这些语句全部写完在执行)
start transaction; //开启事条 也可以用begin
select @a:=avg(age) from tb_user; //@a: 是在mysql中定义变量
select @b:=max(age) from tb_user;
update tb_user age=@a wher age=@b; //@a 调用变量
commit; //提交事务
----------------------------------------------------------------------------------------------------------------------------
存储过成:
create procedure 存储过程名字(in、out、inout) :创建存储过程
begin
mysql语句
end$$
start transaction; //开启事条 也可以用begin
select @a:=avg(age) from tb_user; //@a: 是在mysql中定义变量
select @b:=max(age) from tb_user;
update tb_user age=@a wher age=@b; //@a 调用变量
commit; //提交事务
----------------------------------------------------------------------------------------------------------------------------
存储过成:
create procedure 存储过程名字(in、out、inout) :创建存储过程
begin
mysql语句
end$$
call 存储过程名(); :调用存储过程
source 路径
定义 set @变量名=值
循环(repeat)
else(可以有)
endrepeat(结束循环)
tee
---------------------------------------------------------------------------------------------------------------------------
备份: mysqldump 数据库 > 路径\表名 -uroot -p
恢复:先把原来的表删掉
source 备份路径\文件名
在dow中恢复数据:盘符\wamp\mysql\bin> mysqldump --databases 数据库名> 路径\文件名 -u root
在dos中恢复数据:盘符\wamp\mysql\bin> mysqldump mysql test< c:\wamp\数据库名 -uroot -p --port=3306
source 路径
定义 set @变量名=值
循环(repeat)
else(可以有)
endrepeat(结束循环)
tee
---------------------------------------------------------------------------------------------------------------------------
备份: mysqldump 数据库 > 路径\表名 -uroot -p
恢复:先把原来的表删掉
source 备份路径\文件名
在dow中恢复数据:盘符\wamp\mysql\bin> mysqldump --databases 数据库名> 路径\文件名 -u root
在dos中恢复数据:盘符\wamp\mysql\bin> mysqldump mysql test< c:\wamp\数据库名 -uroot -p --port=3306