MySql语句
连接
shell> mysql -h localhost -u root -p
shell> Enter password: ********
退出
mysql> qiut
或
mysql> \q
或
mysql> exit
显示数据库
mysql> show dababases;
创建数据库
语法:
mysql>CREATE DATABASE 数据库名;
实例:
创建数据库,并选择数据库
mysql> create database temporary
mysql> use temporary;
删除数据库
语法:
mysql> drop database <数据库名>;
实例:
mysql> drop database temporary;
选择数据库
语法:
mysql> use <数据库名>
显示数据表
mysql> show tables;
创建数据表
语法:
mysql> CREATE TABLE table_name (column_name column_type);
删除数据表
mysql> DROP TABLE table_name ;
插入数据
语法:
mysql> insert into table_name ( field1, field2,...fieldN ) values ( value1, value2,...valueN );
查询数据
select column_name,column_name from table_name [WHERE Clause] [LIMIT N] [ OFFSET M]
- 查询语句中你可以使用一个或者多个表,表之间使用逗号(,)分割,并使用WHERE语句来设定查询条件。
- SELECT 命令可以读取一条或者多条记录。
- 你可以使用星号(*)来代替其他字段,SELECT语句会返回表的所有字段数据
- 你可以使用 WHERE 语句来包含任何条件。
- 你可以使用 LIMIT 属性来设定返回的记录数。
- 你可以通过OFFSET指定SELECT语句开始查询的数据偏移量。默认情况下偏移量为0。
实例:
读取数据表:
mysql> select * from 数据表名;
WHERE 子句
筛选数据: 查询table_name数据表并且name字段等于"dig"的数据
mysql> SELECT * from table_name where name='dig';
UPDATE 更新
修改或更新 MySQL 中的数据: 修改table_name数据表id等于"3"的name,其值修改为"dig"
mysql> update table_name set name='dig' WHERE id=3;
DELETE 语句
删除 MySQL 数据表中的记录。
清除table_name表中id等于3的记录
delete from table_name where id=3;
- 如果没有指定 WHERE 子句,MySQL 表中的所有记录将被删除。
- 你可以在 WHERE 子句中指定任何条件
- 您可以在单个表中一次性删除记录。
LIKE 子句
like 匹配/模糊匹配,会与 % 和 _ 结合使用。
- '%a' 以a结尾的数据
- 'a%' 以a开头的数据
- '%a%' 含有a的数据
- 'a' 三位且中间字母是a的
- '_a' 两位且结尾字母是a的
- 'a_' 两位且开头字母是a的
查询以 java 字段开头的信息。
mysql> SELECT * FROM position WHERE name LIKE 'java%';
查询包含 java 字段的信息。
mysql> SELECT * FROM position WHERE name LIKE '%java%';
查询以 java 字段结尾的信息。
mysql> SELECT * FROM position WHERE name LIKE '%java';
UNION 操作符
UNION 语句:用于将不同表中相同列中查询的数据展示出来;(不包括重复数据)
UNION ALL 语句:用于将不同表中相同列中查询的数据展示出来;(包括重复数据)
使用形式如下:
mysql> SELECT 列名称 FROM 表名称 UNION SELECT 列名称 FROM 表名称 ORDER BY 列名称;
mysql> SELECT 列名称 FROM 表名称 UNION ALL SELECT 列名称 FROM 表名称 ORDER BY 列名称;
排序
使用 MySQL 的 ORDER BY 子句来设定你想按哪个字段哪种方式来进行排序,再返回搜索结果。
使用 ASC 或 DESC 关键字来设置查询结果是按升序或降序排列。 默认情况下,它是按升序排列。
mysql> SELECT * from table_name ORDER BY submission_date ASC;
分组
GROUP BY 语句根据一个或多个列对结果集进行分组。
在分组的列上我们可以使用 COUNT, SUM, AVG,等函数。
使用 GROUP BY 语句 将数据表按名字进行分组,并统计每个人有多少条记录:
mysql> SELECT name, COUNT(*) FROM employee_tbl GROUP BY name;
+--------+----------+
| name | COUNT(*) |
+--------+----------+
| 小丽 | 1 |
| 小明 | 3 |
| 小王 | 2 |
+--------+----------+
使用as取别名
WITH ROLLUP 可以实现在分组统计数据基础上再进行相同的统计(SUM,AVG,COUNT…)。
mysql> SELECT name, SUM(singin) as singin_count FROM employee_tbl GROUP BY name WITH ROLLUP;
+--------+--------------+
| name | singin_count |
+--------+--------------+
| 小丽 | 2 |
| 小明 | 7 |
| 小王 | 7 |
| NULL | 16 |
+--------+--------------+

浙公网安备 33010602011771号