Chinaunix首页 | 论坛 | 博客
  • 博客访问: 28726
  • 博文数量: 7
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 70
  • 用 户 组: 普通用户
  • 注册时间: 2013-10-31 15:06
个人简介

爱拼才会赢!

文章分类

全部博文(7)

文章存档

2013年(7)

我的朋友

分类: Mysql/postgreSQL

2013-11-27 09:29:56

1、连接MySQL数据库:
    mysql -u -p -h
    -u    用户
    -p    密码
    -u    主机

2、数据库级别的操作:
    显示数据库    show databases
    选择数据库    use db_name
    创建数据库    create database db_name charset utf8
    删除数据库    drop database  db_name

3、表级别的操作:
    显示数据库下面的表    show tables
    查看表的结构    desc table_name
    查看表的创建过程    show create table table_name
    创建表   
        create table table_name (
            列1  列类型  [列参数]
            ……
            列N  列类型  [列参数]   
        )engine myisam/innodb charset utf8/gbk
    修改表
        增加列    alter table table_name    add 列名称  列类型  [列参数]
        修改列    alter table table_name    change  旧列名   新列名  列类型  [列参数]
        减少列    alter table table_name    drop   列名称
        
        增加主键    alter table table_name   add primary key (主键所在列名)
        删除主键    alter table table_name   drop primary key
        
        增加索引    alter table table_name   add [unique|fulltext] index 索引名(列名)
        删除索引    
alter table table_name   drop index 索引名

        清空表的数据    truncate table_name

4、查询:
    select
        条件查询 where(条件表达式、比较运算符、like/not like/in/not in/between and、is null/is not null
        分组    group by(常用的5个聚合函数:max,min,sum,avg,count
        筛选    having
        排序    order by
        限制    limit
    
连接查询:
        左连接    left join .. on(例如:select * from table A left join table B on tableA.col1=tableB.col2
        右连接    right join
        内连接    inner join    
        
左右连接都是以在左边的表的数据为准,沿着左表查右表.
        
内连接是以两张表都有的共同部分数据为准,也就是左右连接的数据之交集.
    子查询:
        where型子查询:内层SQLl的返回值在where后作为条件表达式的一部分
            例如:select * from tableA where col1=(select col2 from tableB where ……)
        from型子查询:内层SQL的返回结果,作为一张表,供外层的SQL语句再次查询
            例如:select * from (select * from ……) as tableA  where ……

5、插入数据:
    insert into table_name (col1,col2,……) values(val1,val2,……)   插入指定列
    insert into table_name  values (,,)    插入所以列
    insert into table_name  values (val1,val2,……),(val1,val2,……),(val1,val2,……);    一次插入多行

6、修改数据:
    update table_name set col1=new_val1,col2=new_val2,……,colN=new_valN where 条件;

7、删除数据:
    delete from table_name where 条件;

8、字符集:    
mysql> show variables like 'character_set_%'; 
查看MySQL字符集的一些设置情况
Variable_name      Value值说明
character_set_client 
客户端使用的字符集
character_set_connection
连接数据库的MySQL字符集设置类型,如果php没有指明连接数据库使用的字符集类型,就按照服务器端默认的字符集设置。
character_set_database
数据库服务器中某个库使用的字符集设定,如果建库时没有指明,将使用服务器安装时指定的字符集设置。
character_set_results
数据库给客户端返回时使用的MySQL字符集设定,如果没有指明,使用服务器默认的字符集。
character_set_server
服务器安装时指定的默认字符集设定
character_set_system
数据库系统使用的字符集设定
 
阅读(310) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~