m001
来源:互联网 发布:exchange2013多域名 编辑:程序博客网 时间:2024/06/10 06:23
1. 命令登录到mysql Server:
mysql -h hostname -u username -ppassword databasename,其中-p后不能有空格,也可以只-p省略口令,当mysql启动时,会提示输入口令,并且此时不会显示到屏幕上
2. MYSQL不区分大小写,要断开连接,可以输入:
quit, exit, 或者按Ctrl+D
3. 如果刚刚安装MYSQL,还没有根口令,创建根口令:
% mysql -u root mysql
mysql> SET PASSWORD=PASSWORD('m001m001');
4. 创建数据库:
mysql> CREATE DATABASE firstdb;
5. 创建用户并赋予数据库firstdb的完全访问权限:
mysql> grant all on firstdb.* to himysql@localhost identifird by 'm001m001';
6. 使用创建的数据库:
% mysql -u himysql -pm001m001 firstdb
或者连接时不指定数据库:
% mysql -u himysql -pm001m001 himysql
mysql> use firstdb
7. 创建表:
mysql> CREATE TABLE sales_rep(
employee_number INT,
surname VARCHAR(40),
first_name VARCHAR(30),
commission TINYINTs
);
8. 显示数据库中现有的表:
mysql> show tables;
9. 查看表结构:
mysql> describe sales_rep;
10. 向表中添加新记录:
mysql> INSERT INTO sales_rep(employee_number,surname,first_name,commission) VALUES(1, 'Rive', 'Sol', 10);
注意:字符串字段的值要用单引号括起来
一次添加多条记录:
mysql> INSERT INTO sales_rep(employee_number,surname,first_name,commission) VALUES(1, 'Rive', 'Sol', 10), (2, 'Rive', 'Sol', 10), (3, 'Rive', 'Sol', 10);
11. 从文本文件插入大量数据:
mysql> LOAD DATA LOCAL INFILE "sales_rep.sql" INTO TABLE sales_rep;
注意:文本中每条数据占一行,每个字段由TAB键来分隔,每一行以换行符结束:
1\tRive\tSol\t10
2\tSertore\tMike\t10
12. 表中检索信息:
mysql> SELECT * FROM sales_rep WHERE commission>10 OR surname='Rive' AND first_name='Sol';
注意:ADN优先级比OR要高
13. 模式匹配:LIKE和%,其中%匹配0到多个字符
mysql> SELECT * FORM sales_rep WHERE surname LIKE '%e%';
14. 分类:
mysql> SELECT * FROM sales_rep ORDER BY commission DESC, surname ASC, first_name ASC;
注:当第一个要求条件相同时按照第二个要求条件排序,默认ASC升序可以不写
15. 限制结果的数量:
mysql> SELECT * FROM sales_rep ORDER BY commission DESC LIMIT 2, 3;
注:2为偏移量,3是返回的记录数,偏移量是从0开始的
16. MAX()返回最大值:
mysql> SELECT MAX(commission) FROM sales_rep;
注:括号前不要有空格,还有AVG(), MIN(), SUM()等函数
17. 去掉重复:
mysql> SELECT DISTINCT surname FROM sales_rep ORDER BY surname;
18. 计数:
mysql> SELECT COUNT(DISTINCT surname) FROM sales_rep;
19. 在查询中计算:
mysql> SELECT first_name,surname,commission+1 FROM sales_rep;
20. 删除记录:
mysql> DELETE FROM sales_rep WHERE employee_number = 5;
注:如果没有WHERE从句,将会删除表中所有记录
21. 更改记录:
mysql> UPDATE sales_rep SET commission = 12 WHERE employee_number= 1;
注:没有WHERE从句,将可能更改所有记录
小结:INSERT/SELECT/UPDATE/DELETE它们是SQL数据处理语言(DATA MANIPULATION LANGUAGE,DML)的一部分。以下是数据定义语言(DATA DEFINITION LANGE,DDL)
22. 删除表和数据库:
mysql> CREATE TABLE comm (id INT);
mysql> DROP TABLE comm;
mysql> CREATE DATABASE ss;
mysql> DROP DATABASE ss;
23. 改变表结构:
mysql> ALTER TABLE sales_rep ADD date_joined DATE;
mysql> ALTER TABLE sales_rep DROP date_joined;
注:DATE(YYYY-MM-DD)格式的日期,MYSQL中还有一个YEAR存储年的类型
mysql> ALTER TABLE sales_rep CHANGE year_born birthday DATE;将列名year_born改为birthday
mysql> ALTER TABLE sales_rep CHANGE year_born year_born DATE;只改变列定义而不改变列名等同于下面语句:
mysql> ALTER TABLE sales_rep MODIFY year_born DATE;
24. 改表名:
mysql> ALTER TABLE sales_rep RANAME hh;
mysql> ALTER TABLE hh RANAME TO sales_rep;
注:RANAME和RANAME TO效果一样
25. 日期函数:
mysql> UPDATE sales_rep SET date_joined = '2000-04-23', birthday = '1988-06-08' WHERE employee_number=1;
mysql> SELECT DATE_FORMAT(date_joined, '%m/%d/%Y) FROM sales_rep WHERE employee_number=1;
mysql> SELECT NOW(), CURENT_DATE();
26. 高级查询:
mysql> SELECT surname, first_name, MONTH(birthday) AS month, DAYOFMONTH(birthday) AS day FROM sales_rep ORDER BY month;
mysql> SELECT CONCAT(first_name, ' ', surname) AS name, MONTH(birthday) AS month, DAYOFMONTH(birthday) AS day FROM sales_rep ORDER BY month;
mysql> SELECT surname, first_name, (YEAR(CURRENT_DATE) - YEAR(birthday)) - (RIGHT(CURRENT_DATE,5)<RIGHT(birthday,5)) AS age FROM sales_rep;
mysql> SELECT sales_rep, SUM(value) FROM sales GROUP BY sales_rep ORDER BY sum desc;
- m001
- ksvcreate: Process(m001) creation failed 问题处理
- Android开源项目分类汇总【二】
- Probe how does your PGA consume
- Android bluetooth介绍(三): 蓝牙扫描(scan)设备分析
- Git详解之一 Git起步
- c++ 学习 随笔四
- m001
- android 时间轴
- C3P0的详细配置说明(com.mchange.v2.c3p0.ComboPooledDataSource)
- Linux的时间设置与同步(NTP)
- Android bluetooth介绍(四): a2dp connect流程分析
- javascript生成新浪微博短链接
- Git详解之二 Git基础
- Codeforces Round #279 (Div. 2) D
- Sipdroid简单分析