免费注册 查看新帖 |

Chinaunix

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

【分享】MYSQL入门语法集锦 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-01-24 09:59 |只看该作者 |倒序浏览
本帖最后由 cenalulu 于 2013-01-24 11:46 编辑

数据库: 表,视图(view),索引(index),触发器(trigger),存储过程(storage procedure),存储函数(storage function),事件调度器(event scheduler),

创建表语法:
         CREATE TABLE [IF NOT EXISTS] tb_name
   例:
  1. CREATE TABLE user ( id INT NOT NULL, Name CHAR(30) NOT NULL,AUTO_INCREMENT KEY);
复制代码
创建表时,指定引擎
  1. CREATE TABLES users(id INT) ENGINE = InnoDB;

  2. CREATE TABLES users ENGINE = InnoDB;
复制代码
AUTO_INCREMENT 自动增长

创建表:
  1. CREATE TABLE db_name like db_othername;
复制代码
只创建表结构

创建users表:
  1. 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');
复制代码
设置默认储存引擎:
  1. SET GLOBAL storage_engine = engine_name;
  2. SET SESSION storage_engine = engine_name;
复制代码
只对当前有效   

where字句后可用的:>,<,=,BETWEEN…AND…
  1. SELECT DISTINCT zone FROM zones LIMIT 100;
复制代码
显示100行且去除重复
GROUP BY 分组
  1. SELECT zone, COUNT(*) FROM mytb GROUP BY zone;
复制代码
数据导入:#mysql –uroot –p mydb 表名 < /tmp/mydb.sql
  1. mysql>LOAD DATA INFILE ‘/root/table.sql INTO mytb;
复制代码
注:mytb创建的表

order by 字表 DESC 降序; ORDER BY 字表 ASC升序,默认是升序
  1. SHOW INDEXES FROM users;
复制代码
UNIQUE 唯一性

BTREE | HASH  两种索引类型

修改表结构:
ALTER TABLE tb_name

添加字段:ADD col_name col_ def 添加字段 AFTER  col_name在col_name后添加字段,FIRST col_name该字段前加字段
  1. ALTER TABLE user1 ADD Master TINYINT UNSIGNED;
复制代码
修改字段:
     CHANGE old_name new_name col_definat
      MODIFY col_name col_definat
   例:
  1. ALTER TABLE user MODIFY Gender ENUM(‘F’,’M’) NOT NULL DEFAULT ‘M’;
复制代码
例: A
  1. LTER TABLE user CHANGE Master Tutor TINYINT UNSIGNED AFTER Age;
复制代码
添加索引: ADD {ADD|INDEX} [index_name] [index_type] (col….)
例:
  1. ALTER TABLE user ADD INDEX (Age);
复制代码
删除字段: DROP col_name

删除键:DROP PRIMARY KEY
        DROP {INDEX|KEY} index_name

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

插入数据:INSERT INTO tb_name(字段名) VALUE (‘’,’’,’’)
          INSERT INTO tb_name VALUE (‘’,’’,’’)
          INSERT INTO tb_name SET 字段名=自定义

插入多行:INSERT INTO tb_name (字段名) VALUES (‘’,’’) (‘’,’’) (‘’,’’)
   这里的INSERT可以换成REPLACE,区别replace能直接替换主键而不报错,insert不可修改数据:UPDATE tb_name SET 字段名=设置 WHERE 条件
   例:
  1. UPDATE user SET Age=21 LIMIT 2;
复制代码
修改前两行年龄

删除数据:
    DELETE FROM tb_name WHERE 条件
    TRUNCATE TABLE tb_name 清空数据并恢复初始状态
  1. SELECT LAST_INSERT_ID();
复制代码
ALTER TABLE user AUTO_INCREMENT=2 设定自动增长的ID号

多表查询:
    连接的类型:
交叉连接(很少用到),例:SELECT * FROM user,user2

内连接, 例:SELECT * FROM user,user2 WHERE user.ID=user2.CID表user的字段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

文章来源长沙源码http://www.php0731.cn/index.php?article-show.html&id=1385
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP