啊~这个这个Mysql命令?

1.创建数据库 create

mysql> create DATABASE 数据库名;

2.删除数据库 drop

mysql> drop database 数据库名;

3.选择数据库 use

mysql> use 数据库名;

4.创建数据表

数据类型参见:MySQL 数据类型 | 菜鸟教程

mysql>CREATE TABLE 表名 (列名 数据类型);

以下例子中我们将在 RUNOOB 数据库中创建数据表runoob_tbl:

CREATE TABLE IF NOT EXISTS `runoob_tbl`(
   `runoob_id` INT UNSIGNED AUTO_INCREMENT,
   `runoob_title` VARCHAR(100) NOT NULL,
   `runoob_author` VARCHAR(40) NOT NULL,
   `submission_date` DATE,
   PRIMARY KEY ( `runoob_id` )
)ENGINE=InnoDB DEFAULT CHARSET=utf8;

注意:这里每一列名 数据类型都换行,对于比较长的语句检查起来更清晰。

实例解析:

如果你不想字段为 NULL 可以设置字段的属性为 NOT NULL, 在操作数据库时如果输入该字段的数据为NULL ,就会报错。

AUTO_INCREMENT定义列为自增的属性,一般用于主键,数值会自动加1。

PRIMARY KEY关键字用于定义列为主键。 您可以使用多列来定义主键,列间以逗号分隔。

ENGINE 设置存储引擎,CHARSET 设置编码。

5.删除数据表

mysql> DROP TABLE 表名;

6.插入新数据

mysql> INSERT INTO table_name 表名 (列名1, 列名2, ...列名N) VALUES (值1, 值2, ...值N);

注意:mysql不区分大小写,where binary可区分大小写,下面会写;

           字符串需要加引号,不然报错。

7.select语句 

select在英文中是搜索的意思 和from一起使用

mysql> SELECT 列名1,列名2,...列名N FROM 表名
[WHERE Clause]
[LIMIT N][ OFFSET M]

语法解析:

  • 查询语句中你可以使用一个或者多个表,表之间使用逗号(,)分割,并使用WHERE语句来设定查询条件。
  • SELECT 命令可以读取一条或者多条记录。
  • 你可以使用星号(*)来代替其他字段,SELECT语句会返回表的所有字段数据
  • 你可以使用 WHERE 语句来包含任何条件
  • 你可以使用 LIMIT 属性来设定返回的记录数。
  • 你可以通过OFFSET指定SELECT语句开始查询的数据偏移量。默认情况下偏移量为0。

8.where子句

SELECT field1, field2,...fieldN FROM table_name1, table_name2...
WHERE 条件1 [AND [OR]] 条件2.....条件N

9.like子句

SELECT 列名1, 列名2, ...列名
FROM 表名
WHERE 列名1 LIKE 条件1 [AND [OR]] 列名2='somevalue'
  • 你可以在 WHERE 子句中使用LIKE子句。
  • 你可以使用LIKE子句代替等号 =。
  • LIKE 通常与 % 一同使用,类似于一个元字符的搜索。例:WHERE 列名3 = '%639' (where列名3以639结尾);WHERE 列名3 = '%639%' (where列名3以包含639);WHERE 列名3 = '639%' (where列名3以639开头的)。
  • 你可以使用 AND 或者 OR 指定一个或多个条件。
  • 你可以在 DELETE 或 UPDATE 命令中使用 WHERE...LIKE 子句来指定条件。

10.update更新数据

UPDATE 表名 SET 列名1=值1, 列名2=值2
[WHERE Clause]

例:更新id=99的指定行数据

UPDATE 表名 SET 列名1=值1, 列名2=值2 WHERE id=99

11.delete删除数据

DELETE FROM 表名 [WHERE Clause]

例:mysql> DELETE FROM runoob_tbl WHERE runoob_id=3;

删除表中id=3的记录,记得加where,小心删表

12.union联合查询

SELECT 列名1, 列名2, ... 列名N
FROM 表1
[WHERE 条件1]
UNION [ALL/DISTINCT]
SELECT 列名1, 列名2, ... 列名N
FROM 表2
[WHERE 条件2];

参数

  • WHERE conditions: 可选, 检索条件。

  • DISTINCT: 可选,删除结果集中重复的数据。默认情况下 UNION 操作符已经删除了重复数据,所以 DISTINCT 修饰符对结果没啥影响。

  • ALL: 可选,返回所有结果集,包含重复数据

13.order by排序

SELECT 列名1, 列名2 FROM 表名1
[WHERE 条件1]
ORDER BY 列名1 [ASC [DESC][默认 ASC]]
  • 你可以使用任何字段来作为排序的条件,从而返回排序后的查询结果。
  • 你可以设定多个字段来排序。
  • 你可以使用 ASC 或 DESC 关键字来设置查询结果是按升序或降序排列。 默认情况下ASC升序排列。
  • 你可以添加 WHERE...LIKE 子句来设置条件。

14.group by分组

function函数参考:MySQL 函数 | 菜鸟教程

SELECT column_name, function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name;

将数据表按名字进行分组,并统计每个人有多少条记录:

mysql> SELECT name, COUNT(*) FROM employee_tbl GROUP BY name;

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 |
+--------+--------------+
4 rows in set (0.00 sec) 
NULL为SUM(count(*))  在count(*)的结果上再次sum

15.join连接合并

  • INNER JOIN(内连接,或等值连接):获取两个表中字段匹配关系的记录。去异存同
  • LEFT JOIN(左连接):获取左表所有记录,即使右表没有对应匹配的记录。去右存左
  • RIGHT JOIN(右连接): 与 LEFT JOIN 相反,用于获取右表所有记录,即使左表没有对应匹配的记录。去左存右

16.show columns查看表的数据结构

mysql> SHOW COLUMNS FROM 表名;

17.alter删除 添加 修改数据类型

删除,ALTER 命令及 DROP 子句

mysql> ALTER TABLE 表名1 DROP 列名3;

如果数据表中只剩余一个字段则无法使用DROP来删除字段。

添加,ADD子句

mysql> ALTER TABLE 表名3 ADD 列名2 数据类型;

修改,MODIFY or CHANGE

mysql> ALTER TABLE 表1 MODIFY 列2 数据类型;

以上例子来源www.runoob.com,我按日常需求整理一下方便自己看。大家可以去www.runoob.com学习,网站简洁好用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值