`
zccst
  • 浏览: 3319481 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

mysql常用命令

阅读更多
作者:zccst

2014-05-18 创建新表各类型模板
CREATE TABLE `aaa` (
  `id` int(11) NOT NULL auto_increment,
  `name` varchar(32) default NULL,
  PRIMARY KEY  (`id`),
  UNIQUE KEY `name` (`name`)
)ENGINE=InnoDB DEFAULT CHARSET utf8;

特殊情况
1,两个主键
primary key (id,name)
2,加唯一键约束
  UNIQUE KEY `name` (`name`)




2014-05-17 给新mysql数据库root用户设置新密码(改默认密码)
use mysql;//少了这个也不行
update user set password=PASSWORD('123456') where user='root';
flush privileges;



一、数据库的基本操作
create database xx
show databases     use dbName;
drop database xx
注:只有use databaseName;才能进行该数据库里的表操作,和表记录操作。

二、对数据库表本身的一些操作
1,操作表(整体)
查看所有表:show tables     
查看所有表状态:show tables  status
查看表结构:desc tbl_name
修改表名:   alter table t_book rename to bbb;
删除表:      drop table xxxx(注:删除多个表时请参考另一篇文章)
【一次删除多个表时:drop table `x_abc1`,`x_abc2`,`x_abc3`】
创建表:      create table ...(最重要,数据库设计)
mysql> create table fail_server_suit(
    -> id INTEGER UNSIGNED auto_increment primary key,
    -> suit_name varchar(30),
    -> cnt int(20) default '0',
    -> percent double(3,2) default null
    -> )engine=InnoDB default charset=utf8;
需要注意的是mysql各种数据类型。
(1)关于时间
datetime  日期和时间的组合。支持‘1000-01-01 00:00:00‘到‘9999-12-31 23:59:59‘
timestamp  时间戳。如果多个timestamp,第一个是时间戳,记录更新时更新。
另外,timestamp以UTC格式保存( it stores the number of milliseconds)
时区转化 ,存储时对当前的时区进行转换,检索时再转换回当前的时区。
(2)关于大数据存储longblob
mysql配置文件my*.cnf默认max_allowed_packet = 1M,但可修改为8M。

2,操作表的某一列
ALTER TABLE:添加,修改,删除表的列,约束等表的定义。
    添加列:alter table 表名 add column 列名 varchar(30);
    删除列:alter table 表名 drop column 列名;
    修改列名: alter table tbl_name change column update_at create_at timestamp;
    修改列属性:alter table t_book modify column_name varchar(22);

3,重要操作
查看已定义的表。如查看已定义表的外键情况。(可能在删除表数据前需要)show create table xxxx;



三、导入导出
1,导入导出sql脚本 
格式:mysqldump -u 用户名 -p 数据库名 > 导出的文件名
例:mysqldump -uroot -p123456 new_rss > new_rss07.sql
导入sql脚本:改变箭头即可。
mysqldump --help
几个比较实用的选项为:
    -c, --complete-insert                                    Use complete insert statements.
    --default-character-set=name                        Set the default character set.
    --fields-terminated-by=name                          Fields in the textfile are terminated by ...
    --ignore-table=name
    -n, --no-create-db
    -t, --no-create-info
    -d, --no-data                                               No row information.
    --tables                                                      Overrides option --databases (-B).
    -w, --where=name                                        Dump only selected records; QUOTES mandatory!

例子,导出数据库中的某个表(不是全部表)


2,导出查询结果到文本
select * from idc into outfile 'E:/sql/idc.txt';
这种情况每次会创建一个新的文件。
还有追加的方式:>。(即select * from idc into > 'E:/sql/idc.txt';)


四、单表的基本操作
1,增删查改
(1)插入记录
a.  insert into
--注:如果是default current timestamp,则时间字段由系统自动填写。如果是datetime,则为now(),不是'now()';
insert into tbl_name (column1, column2, ..., columnN) values ( value1, value2, ..., valueN);
insert into user(name, age) values ('姚明', 25), ('乔布斯', 50), ('火星人', 250), ('太阳人', 2000);  //插入多条记录【注:这个只适合于mysql】


b.  select insert into
//指定列:
INSERT INTO `suit_type`(suit) SELECT distinct suit FROM aos_data_201112 where date='2011-12-27';
//全部列:
INSERT INTO `a` SELECT * FROM b;  //前提两者数据字段完全一致。


(2)删除记录
delete from MYTABLE where id = xx;
清空表:delete from MYTABLE;
truncate table tablename  其中table是可选的。
如果要删除表中的部分记录,只能使用delete语句。


(3)更新记录
update tbl_name set column1 = xx, column2 = yy where id = zz;

(4)查询记录
select * from tbl_name where id = xx;
关于时间比较
select * from tbl_name where created_at > '2012-01-09';
表面上大于'2012-01-09',应该只出现'2012-01-10'及以后的结果,实际不是。
批注:由于created_at是timestamp或datetime,所以'2012-01-09'会变为'2012-01-09 00:00:00',然后再作比较。所以凡是大于'2012-01-09 00:00:00'都是符合条件的,所以类似'2012-01-09 10:00:00'会出现在结果列。

注:DELETE, 删除表的记录。DROP, 删除数据表或数据库。

2,select的常见用法
(1)单表
a,选择若干列
b,选择若干元组
1,消除重复行
2,查询符合条件的元组(比较运算符,逻辑运算符,between and,having,like,in,is null,exist)
3,ORDER BY
4,聚集函数
5,GROUP BY

(2)多表
a,等值与非等值连接查询
b,自身连接
c,外连接
d,符合条件连接

(3)嵌套查询
a,带IN
b,带比较运算符的子查询
c,带ANY(SOME)或ALL的子查询
d,带EXISTS的子查询

(4)集合查询



五、多表操作
1,内连接/外连接/交叉连接
内连接:分等值连接,非等值连接,自然连接
外连接:分左连接、右连接、全连接
交叉连接:

详情可参考:
http://zccst.iteye.com/admin/blogs/1486751


2,嵌套


六、权限管理
1,授权
例如,grant select,insert,update,delete on *.* to root@'%' Identified by "654123";
解释:
(1)*.*  前面的星表示数据库名称,后面的星表示数据库表。
(2)root@'%'  前面表示用户,后面'%'表示允许所有IP访问并重启mysql,此外,还可以是'localhost'等。

再例如,
(1). GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION; 
(2). FLUSH   PRIVILEGES;
分享到:
评论

相关推荐

    MYSQL常用命令教程

    ### MySQL常用命令详解 在IT领域,MySQL作为一款广泛使用的开源关系型数据库管理系统,其重要性不言而喻。无论是初学者还是资深开发者,掌握MySQL的常用命令都是必不可少的技能。以下将对“MYSQL常用命令教程”中的...

    MySQL常用命令(非常全面的命令大全)

    ### MySQL常用命令详解 #### 一、连接与断开MySQL **命令格式:** ``` mysql -h [主机地址] -u [用户名] -p [密码] ``` **示例:** 1. **本地连接MySQL服务:** ```bash mysql -uroot -p ``` 输入此命令后,...

    MySql常用命令 最新 最全

    根据提供的标题、描述以及部分内容,本文将详细解析MySQL数据库中的常用命令,并且涵盖数据库的创建、管理、查询、更新等核心操作。 ### MySQL 常用命令概览 #### 启动与停止 MySQL 服务 - **启动 MySQL 服务**: ...

    MySQL常用命令汇总.rar

    以上仅是MySQL常用命令的一部分,实际操作中还有更多高级功能,如视图、存储过程、触发器、索引、事务处理等。通过深入学习和实践,你可以更高效地管理和维护MySQL数据库。在“MySQL常用命令汇总.pdf”文件中,应有...

    个人总结的MySQL常用命令语句

    ### MySQL常用命令语句详解 #### 一、创建数据库(Create Database) - **命令格式**:`CREATE DATABASE database_name;` - **功能说明**:此命令用于创建一个新的数据库。 - **示例**: ```sql CREATE DATABASE ...

    MySQL常用命令 MySQL常用命令

    MySQL 常用命令 MySQL 是一个流行的开源关系数据库管理系统,它提供了许多实用的命令来管理和维护数据库。在本资源中,我们将总结一些常用的 MySQL 命令,涵盖数据库创建、用户管理、数据备份和恢复、查询执行等...

    MySQL常用命令总结.txt

    MySQL常用命令总结 MySQL常用命令总结

    mysql常用命令总结

    ### MySQL常用命令总结 本文将基于提供的部分内容对MySQL的基本操作命令进行详细解析,这些命令涵盖了数据库及表的基本管理,如创建、查询、更新等。掌握这些命令有助于更好地管理和操作MySQL数据库。 #### 一、...

    MYSQL常用命令详细介绍

    ### MySQL常用命令详解 #### 启动MySQL服务器 在启动MySQL服务器方面,有两种常见的方法: 1. **使用winmysqladmin工具**:这是一个图形化的工具,适用于Windows系统。如果你的计算机在启动时已经设置了自动运行...

    mysql常用命令集锦--初级DBA

    MySQL常用命令集锦--初级DBA MySQL是当前最流行的开源关系数据库管理系统,本文将总结一些常用的MySQL命令,适合初级DBA学习和工作。 一、MySQL服务的启动和停止 MySQL服务的启动和停止命令如下: * ...

    MySQL常用命令视频教程及笔记

    MySQL是世界上最受欢迎的关系型...通过学习这些MySQL常用命令,你可以对数据库进行基本的创建、查询、修改和删除操作,同时了解如何更高效地管理和维护数据库。在实际工作中,熟练掌握这些命令能够极大地提升工作效率。

    MySQL常用命令.doc

    以下是一些关于MySQL常用命令的详细说明: 1. **创建和管理数据库**: - `create database name;` 用于创建一个新的数据库,name是数据库的名称。 - `use databasename;` 用于切换到指定的数据库。 - `drop ...

    MySQL常用命令---创建数据库创建表.pdf

    MySQL常用命令---创建数据库创建表 MySQL是最流行的开源关系型数据库管理系统,广泛应用于Web应用开发、企业数据存储、数据分析等领域。作为一名IT从业者,熟悉MySQL常用命令是必不可少的技能之一。本文档将详细...

    MySQL常用命令大全

    ### MySQL常用命令详解 在IT领域,特别是数据库管理与开发工作中,熟练掌握SQL语言和具体的数据库管理系统(如MySQL)的命令至关重要。以下是对标题“MySQL常用命令大全”及其描述“MySQL常用命令,帮助你快速掌握...

    MySQL常用命令速查手册

    MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational ...此文件是MySQL常用命令速查手册

    MySQL常用命令大全.docx

    MySQL 常用命令大全 本文档旨在总结 MySQL 的常用命令,旨在帮助开发者快速掌握 MySQL 的基本操作命令。下面将详细介绍 MySQL 的基本命令,包括启动 MySQL、数据库操作、表操作、数据操作等方面。 一、命令行指令 ...

    MySQL 常用命令总结

    ### MySQL常用命令精要解析 #### 一、MySQL基础命令概览 MySQL是全球最流行的开源关系型数据库管理系统之一,其高效稳定、功能全面而深受广大开发者喜爱。掌握MySQL的基本命令是进行数据库管理与开发的基础。 ###...

Global site tag (gtag.js) - Google Analytics