免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 861 | 回复: 0
打印 上一主题 下一主题

mysql笔记 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-12-21 08:42 |只看该作者 |倒序浏览
Mysql反引号作用:防止字段名与关键字重复,所以给字段名加上反引号

显示当前mysql版本和当前日期:select version(),current_date;

Mysql数据库中常用字段类型:
整数型:TINYINT,SMALLINT,INT,BIGINT小数型:FLOAT,DOUBLE,DECIMAL(M,D)
 
字符型:CHAR,VARCHAR (可变长度)日期型:DATETIME ,DATE,TIMESTAMP (时间戳)
 
备注型:TINYTEXT ,TEXT ,LONGTEXT

NOT NULL        不允许为空
auto_increment  自动累加
 
mysql表格操作命令:
创建数据表:
create table 表名(列名1 属性,列名2 属性...);
查看表结构:
describe 数据表名 (行名)    可以只显示数据表的一行结构,可以简写成desc
show columns from 表名    效果一样
注意表结构和数据记录的区别,表结构中没有数据,列和行也要注意
 
修改表结构:
alter table 表名 一系列操作
可以增加或删除列、创造或消去索引、改变现有列的类型、重新命名列或表等。注意:针对的是表格的结构,不是数据
删除一个字段:       alter table 表名 drop 字段名
插入一个字段:       alter table 表名 add 新字段 after 原字段
 
重命名表格:
rename table 表名1 to 表名2
删除数据表:
drop table 表名
 
mysql语句操作命令(操作对象都是数据记录):
插入记录:
insert into 数据表名(列名1,列名2...) values (value1,value2);
省略列名则要输入所有的value值
 
SELECT 查询字段 FROM 表名 WHERE 条件
 
查询字段:  可以使用通配符* 、字段名、字段别名
    表名:  数据库.表名 ,表名
常用条件:  = 等于、<> 不等于、< 小于 、> 大于、in 包含、not in 不包含、like 匹配、between 在范围、not between 不在范围
条件运算: and 、 or 、 ( )

查询记录:
select 列名1,列名2... from 表名 where 条件(如:id=1) order by id(按id排序) desc limit n,m;
“*”表示全部
分组语句:group by 
排序语句:order by  排序默认升序,desc关键词设定降序排序,还可以复合排序,如:order by id desc,date asc 先按id降序,再按日期升序
指针查询:limit     选取第n个开始的m长度个数据(n从0开始),limit 0,5等价于limit 5
这三个要先 group by,再 order by,最后 limit

COUNT(*)  统计函数
 
MAX(*)    最大值函数
 
MIN (*)   最小值函数
 
AVG(*)    平均值函数
 
SUM(*)    累计值函数(∑)
select max(id) from cdn
可以进行多个表格同时查询,也就是连接查询,在from子句中,表名用“,”隔开,可以用“表名.列名”的形式
 

模式匹配:“_”匹配任何单个字符,“%”匹配任意数目字符(包括零个字符)
不要使用“=或!=”,这是精确表示的,模糊查询要使用“like或not like”比较操作符
select * from cdn where name like "CM%";      查找以CM开头的名字
select * from cdn where name like "___";      查找三个字的名字
还能用:Where (a=3 or b=3 or c=3) and m=1
select * from cdn\G;     每行显示一条信息,更加清晰

《细说PHP》对select这部分讲得比较全面,深入
 
修改记录:
update 表名 set 列名1=value1,列名2=value2... where 条件 ( where 条件 与 select 相同)

删除记录:
delete from 表名 where 条件         删除的是一行,没有where则删除所有数据行

mysql数据库备份:
mysqldump -uroot -p密码 数据库名 (表名) > 储存路劲和文件名
mysql数据库恢复:
mysql -uroot -p密码 数据库名 < 储存路劲和文件名     (cacti导入数据库的命令)
 

查看mysql编码方式:
show create table 表名      此命令最后一个字段 CHARSET 显示的就是创建表时使用的编码
show variables like 'character%';
show variables like 'collation%';
这两个命令输出的变量名的值就是系统的默认编码值,latin1是瑞典语
 
设置mysql编码方式:
set names gbk;       此命令告诉服务器, 我用的是 gbk 编码, 我希望你也给我返回 gbk 编码的查询结果
相当于执行:
set character_set_client = gbk;
set character_set_results = gbk;
set character_set_connection = gbk;
create database 库名 character set gbk;      创建数据库时就设置编码,也可以在创建表时设置         
alter database 库名 character set utf8;      修改数据库编码为utf8
alter table 表名 character set utf8;         修改表格编码为utf8
alter table 表名 change 字段名 字段名 varchar(50) character set utf8;    修改字段编码

char(M)    存储空间定长,为M字节
varchar(M) 存储空间可变,L+1字节
 
创建视图:
视图的英文是view,是一种虚拟存在的表,相关的数据来自于查询中使用的表,且是动态生成的
create [or replace] view view_name as selectlist
如果有[or replace]子句,可以替换已有的视图
selectlist 是一种SELECT语句,它给出了视图的定义,该语句可从基表或其他视图进行选择
例:
CREATE VIEW v1 AS SELECT * FROM t1 WHERE a < 2
   
create view vgetfeeinfo as(
select  n.node_id,
 n.node_name,
from
 idcfee_node n,
 idcfee_billing_status s,
where
 b.billing_status_id = s.bs_id
 and b.node_id = n.node_id
);
 
登陆 mysql 的情况下修改密码:
update user set password=password('hello1234') where user='root';      修改密码
flush privileges;     更新授权

创建一个 用户firstdb(密码firstdb),将 数据库firstdb 的权限赋予 用户firstdb
grant all on firstdb.* to firstdb identified by 'firstdb'
flush privileges;    会自动创建用户firstdb

grant all on *.* to 用户名@地址 identified by "密码";
all:   代表所有权限,包括insert,select,update等
*.*:   第一个代表所有数据库,第二个代表所有表
用户名:自己设定,没有则自动创建
地址:  IP地址或域名,默认是localhost
密码:  对应用户名的登陆密码

创建超级用户
grant all privileges on *.* to user@localhost identified by "passwd" with grant option;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP