SQL常用命令

登录操作

/* 登录远程客户端 */
mysql -h localhost -P8303 -uroot -proot

仓库操作

/* 查看数据仓库 */
  show databases;
/* 进入数据仓库 */
  use mydbase;

 

表操作

/* 创建表 */
  CREATE TABLE Persons
          (
          Id int,
          LastName varchar(255),
          FirstName varchar(255),
          Address varchar(255),
          City varchar(255)
          )
/* 查看表格式 */
  desc tablename;
/* 查看表内容 */
  select * from tablename;
/* 清空表 */
   truncate table tablename;
   delete  from tablename;  /* 可恢复数据 */
/* 加载数据到表 */
  $mysql -uroot -proot <export.sql
/*  export.sql 文件内容 */
    load data infile "inputfile" into table test_project_url_score (version, fieldname);
/* 修改表名和类型 */
ALTER TABLE table_name CHANGE old_field_name new_field_name field_type;
/* 增加字段在指定字段name后 */
ALTER TABLE table_name ADD field_name field_type after name;
/* 删除某个索引 */
alter table tablename drop index emp_name;
/*重命名表 */
alter table t1 rename t2;
/* 删除字段 */
alter table tablename drop field_name;
/* 增加timestamp,默认情况会设置 CURRENT_TIMESTAMP in on update CURRENT_TIMESTAMP*/
alter table tablename add mytimestamp timestamp NULL;

 

 加载数据到表

/* use my database; 使用我们的数据库
 * 下面是加载文件到数据库,并指定加载列name, score
 * 设置列id值为321, 也可以设置其值为日期如 CURRENT_TIMESTAMP;
 *  Shell命令为, 下行即为export.sql的内容
 *      $mysql -uroot -proot <export.sql
 *  data的内容为 \t 为tab分隔
 *      ximing\t98
 *      xiaoli\t95
 *      xiaoqi\t90
 */
use mydatabase;load data infile "/home/work/data" into table tablename(name, score) set id = 321;

/*  参考网址:
 *  http://dev.mysql.com/doc/refman/5.1/en/load-data.html
 */

 数据操作

#! /usr/bin/env python
#coding=utf-8
'''
* 使用python中的MySQLdb 插入字符串时,因字符串中存在双引号,
 * 导入失败,修正方法
'''
import MySQLdb

conn=MySQLdb.connect(host='1.1.1.1',user='root',passwd='root',port=8306)
cur=conn.cursor()
conn.select_db('mydatabase')
#下面内容为  先单引号,包含双引号     '  " 这里放入插入内容 " '
cur.execute('insert into project(id,stgy) values(1002,\'"{"json_str"}"\')')

conn.commit()
cur.close()
conn.close()

 修改表内符合条件的字段的值

/* 修改表tablename中的fieldname字段值为100,条件为表中id字段的值为 101到200之间 (包含101和200) */
UPDATE tablename SET fieldname=100 WHERE id between 101 and 200

UPDATE  tablename SET fieldname=100 WHERE id=105

 删除表中的一条数据

delete from table where name='张三' and id-15

 查看表内数据内容

select * from tablename limit  10;
/* 查看表内条目数 */
select count(*) from bsc_app_budget;

 列出字段中去重后所有的值

select distinct field from table;

 

问题及解决方法

/* 需要对记录内,同一字段取和,但是需要根据另外一个字段不同的值,对和进行区分。 */

Select product, sum(count)
from table_name
group by product

 复制表结构,并复制内容

create table newtable like oldtable;
INSERT INTO B SELECT * FROM A;

 

 

posted on 2013-11-04 17:52  cfox  阅读(226)  评论(0编辑  收藏  举报

导航