Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1128646
  • 博文数量: 150
  • 博客积分: 2739
  • 博客等级: 少校
  • 技术积分: 2392
  • 用 户 组: 普通用户
  • 注册时间: 2010-12-07 12:28
文章分类

全部博文(150)

文章存档

2015年(2)

2014年(16)

2013年(10)

2012年(58)

2011年(64)

分类: Mysql/postgreSQL

2011-09-05 08:10:27

MYSQL命令总结

SHOW TABLES 查看数据库表

use mysql 更改默认某个数据库(如mysql

DESC 表名  查看表内容

SELECT * FROM 表名  查看表信息

FLUSH PRIVILEGES 立即生效

SELECT DATABASE() 显示当前默认数据库

DROP DATABASES 数据库表名  删除某个表

SHOW CHARACTER SE\C 显示支持的字符集

SHOW COLLATION  现在字符集

SHOW CURRENT_DATE 显示日期

SHOW CURRENT_DATETIME()  显示时间

SHOW WARNINGS 查看警告

SHOW ENGINES 显示存储引擎

SHOW VARIABLES LIKE “%sql_mode%” 模式

SET sql_mode=         设置模式

 例:SET sql_mode=”STRICT_all_tables” 严格模式,

常用的模式: ANSI 只能使用单引号 STRICT_ALL_TABLES严格模式,禁止非法数据插入; TRADITIONAL 默认模式

SHOW GLOBAL VARIALES 全局会话显示

      SHOW SESSION VARIABLES 当前会话显示

CREATE DATABASE IF NOT EXISTS aa CHARACTER SET ‘gbk’; 创建aa字符集为gbk

DROP DATABASE IF EXISTS aa; 存在aa则删除

SHOW CREATE DATABASE aa;  查看创建aa的命令

删除用户: DROP USER ‘’@localhost’root’@localhost

mysqladmin命令用在Shell中:

mysqladmin –uroot –p ping  测试状态              mysqladmin drop 删除数据库

mysqladmin debug 日志                  mysqladmin create sample 常见sample数据库

mysqladmin extended-status 显示mysql运行状态  mysqladmin flush-hosts 手动刷新日志

mysqladmin flush-privileges 刷新权限           mysqladmin flush-tables

mysqladmin processlist查看当前连接状态           mysqladmin reload

mysqladmin shutdown 关闭数据库               mysqladmin start-slave 从服务器启动

mysqladmin status  显示状态                    mysqladmin stop-slave 从服务器关闭

mysqladmin version 现在版本

       mysqladmin status –sleep 3 –count 2 3秒,显示2

       CREATE TABLE [IF NOT EXISTS] tb_name 创建表语法

         例:CREATE TABLE users ( ID INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,Name VARCHAR(30) NOT NULL,Age TINYINT UNSIGNED NOT NULL,Gender ENUM('F','M') NOT NULL DEFAULT 'M');

       或者:创建表时,指定引擎CREATE TABLE db_name like db_othername; 只创建表结构

SELECT DISTINCT zone FROM zones LIMIT 100; 显示100行且去除重复

SELECT zone, COUNT(*) FROM mytb GROUP BY zone; 分组显示

修改表结构:

      添加字段:ADD col_name col_ def 添加字段 AFTER  col_namecol_name后添加字段,FIRST col_name该字段前加字段

    例:

ALTER TABLE user1 ADD Master TINYINT UNSIGNED;

修改字段:CHANGE old_name new_name col_definat

添加索引:例:ALTER TABLE user ADD INDEX (Age);

创建索引: CREATE INDEX 字段名ON 表名(字段名)

       例: CREATE INDEX on_name ON juexue(Cname)

删除字段: DROP col_name

删除键:DROP PRIMARY KEY

给表重命名:ALTER TABLE user RENAME TO qq

插入数据:INSERT INTO tb_name(字段名) VALUE (‘’,’’,’’)

          INSERT INTO tb_name VALUE (‘’,’’,’’)

          INSERT INTO tb_name SET 字段名=自定义

删除数据:

    DELETE FROM tb_name WHERE 条件

    TRUNCATE TABLE tb_name 清空数据并恢复初始状态

SELECT LAST_INSERT_ID();

ALTER TABLE user AUTO_INCREMENT=2 设定自动增长的ID

创建视图:HELP CREATE VIEW 查看帮助

        CREATE VIEW view_name AS SELECT clause WITH CHECK OPTON

删除视图:DROP VIEW view_name

子查询:

  例: SELECT Name FROM knight WHERE Age > ( SELECT AVG(Age) FROM knigh WHERE Age IS NOT NULL);

 SHOW PROCESSLIST 查看连接状态

查看隔离级别:SHOW VARIABLES LIKE ‘tx%’

START TRANSACTION        启用事物

例:LOCK TABLES user READ; 启动共享锁

  UNLOCK TABLES 释放锁

创建用户:HELP CRATE USER 查看帮助

        CREATE USER user_name@IP  IDENTIFIED BY ‘password’

             例;CREATE USER jerry@’%’ IDENTIFIED BY ‘REDHAT’

删除用户: DROP USER username@IP

授权:GRANT 授权

       格式: GRANT 权限 ON TO 用户 [IDENTIFIED BY ‘PASSWORD’]

             例:GRANT DROP ON hellodb.* TO ‘jerry’@’%’

例:GRANT ALL PRIVILEGES ON hellodb.* TO ‘jerry’@’%’ 授权所以权限

在某个字段上的权限:

   GRANT SELECT(name) ON db_name TO user@IP

执行存储历程的权限:

GRANT EXECUTE ON db_name TO user@IP

SHOW GRANTS FOR ‘root’@’localhost’ 查看root的用户所拥有的权限

      例:REVOKE SELECT ON hellodb.* FROM ‘jerry’@’%’ 收回select权限

多表查询:

    连接的类型:

交叉连接(很少用到),例:SELECT * FROM user,user2

内连接, 例:SELECT * FROM user,user2 WHERE user.ID=user2.CIDuser的字段id和表user2的字段cid连接起来

 别名 :SELECT * FROM user AS A, user2 AS B HWERE A.ID=B.ID                           

 

外连接:左外连接、右边连接、

         SLECT k.Name,j.Cname FROM user AS k, LEFT JOIN user2 AS j ON k.CID=J.CID

全外连接,自连接

    例:SELECT k1.NAME,k2.Name FROM user AS k1, user2 AS k2 WHERE k1.Age=k2.UID

UNION: 例: SELECT UID AS ID ,Name AS NAME FROM user  UNION SELECT CID AD ID, CNAME AS NAME FROM user2

创建表并设置引擎:

CREATE TABLES users(id INT) ENGINE = InnoDB;

CREATE TABLES users ENGINE = InnoDB;

设置默认引擎:在/etc/my.cnf中加入以下内容:default-storage-engine=innodb

 

 

阅读(2866) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~