mysql数据库案例_MYSQL数据库操作案例

MySQL 创建数据库

CREATE DATABASE 数据库名;以下命令简单的演示了创建数据库的过程,数据名为 RUNOOB:[root@host]# mysql -u root -p Enter password:****** # 登录后进入终端mysql> create DATABASE RUNOOB;

MySQL 删除数据库

drop database ;例如删除名为 RUNOOB 的数据库:mysql> drop database RUNOOB;

MySQL 选择数据库

以下实例选取了数据库 RUNOOB:[root@host]# mysql -u root -pEnter password:******mysql> use RUNOOB;Database changedmysql>注意:所有的数据库名,表名,表字段都是区分大小写的。所以你在使用SQL命令时需要输入正确的名称。

MySQL 数据类型

MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。数值类型(TINYINT,SMALLINT,MEDIUMINT,INT或INTEGER,BIGINT,FLOAT,DOUBLE,DECIMAL);日期和时间类型(DATE,TIME,YEAR,DATETIME,TIMESTAMP);字符串类型(CHAR,VARCHAR,TINYBLOB,TINYTEXT,BLOB,TEXT,MEDIUMBLOB,MEDIUMTEXT,LONGBLOB,LONGTEXT);

MySQL 创建数据表

创建MySQL数据表需要以下信息:表名表字段名定义每个表字段以下为创建MySQL数据表的SQL通用语法:

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;

MySQL 删除数据表

MySQL中删除数据表是非常容易操作的, 但是你再进行删除表操作时要非常小心,因为执行删除命令后所有数据都会消失。以下为删除MySQL数据表的通用语法:

root@host# mysql -u root -pEnter password:*******mysql> use RUNOOB;Database changedmysql> DROP TABLE runoob_tblQuery OK, 0 rows affected (0.8 sec)mysql>

MySQL 插入数据

MySQL 表中使用 INSERT INTO SQL语句来插入数据。以下为向MySQL数据表插入数据通用的 INSERT INTO SQL语法:

root@host# mysql -u root -p password;Enter password:*******mysql> use RUNOOB;Database changedmysql> INSERT INTO runoob_tbl -> (runoob_title, runoob_author, submission_date) -> VALUES -> ("学习 PHP", "菜鸟教程", NOW());Query OK, 1 rows affected, 1 warnings (0.01 sec)mysql> INSERT INTO runoob_tbl -> (runoob_title, runoob_author, submission_date) -> VALUES -> ("学习 MySQL", "菜鸟教程", NOW());Query OK, 1 rows affected, 1 warnings (0.01 sec)mysql> INSERT INTO runoob_tbl -> (runoob_title, runoob_author, submission_date) -> VALUES -> ("JAVA 教程", "RUNOOB.COM", '2016-05-06');Query OK, 1 rows affected (0.00 sec)mysql>

MySQL 查询数据

MySQL 数据库使用SQL SELECT语句来查询数据。以下为在MySQL数据库中查询数据通用的 SELECT 语法:

select * from runoob_tbl;

MySQL WHERE 子句

我们知道从 MySQL 表中使用 SQL SELECT 语句来读取数据。如需有条件地从表中选取数据,可将 WHERE 子句添加到 SELECT 语句中。以下是 SQL SELECT 语句使用 WHERE 子句从数据表中读取数据的通用语法:

SELECT * from runoob_tbl WHERE runoob_author='教程';

MySQL UPDATE 更新

如果我们需要修改或更新 MySQL 中的数据,我们可以使用 SQL UPDATE 命令来操作。以下是 UPDATE 命令修改 MySQL 数据表数据的通用 SQL 语法:

mysql> UPDATE runoob_tbl SET runoob_title='学习 C++' WHERE runoob_id=3;Query OK, 1 rows affected (0.01 sec)mysql> SELECT * from runoob_tbl WHERE runoob_id=3;+-----------+--------------+---------------+-----------------+| runoob_id | runoob_title | runoob_author | submission_date |+-----------+--------------+---------------+-----------------+| 3 | 学习 C++ | RUNOOB.COM | 2016-05-06 |+-----------+--------------+---------------+-----------------+1 rows in set (0.01 sec)

MySQL DELETE 语句

你可以使用 SQL 的 DELETE FROM 命令来删除 MySQL 数据表中的记录。以下是 SQL DELETE 语句从 MySQL 数据表中删除数据的通用语法:

mysql> use RUNOOB;Database changedmysql> DELETE FROM runoob_tbl WHERE runoob_id=3;Query OK, 1 row affected (0.23 sec)

MySQL LIKE 子句

WHERE 子句中可以使用等号 = 来设定获取数据的条件,如 "runoob_author = 'RUNOOB.COM'"。但是有时候我们需要获取 runoob_author 字段含有 "COM" 字符的所有记录,这时我们就需要在 WHERE 子句中使用 SQL LIKE 子句。SQL LIKE 子句中使用百分号 %字符来表示任意字符,类似于UNIX或正则表达式中的星号 *。如果没有使用百分号 %, LIKE 子句与等号 = 的效果是一样的。以下是 SQL SELECT 语句使用 LIKE 子句从数据表中读取数据的通用语法:

mysql> use RUNOOB;Database changedmysql> SELECT * from runoob_tbl WHERE runoob_author LIKE '%COM';+-----------+---------------+---------------+-----------------+| runoob_id | runoob_title | runoob_author | submission_date |+-----------+---------------+---------------+-----------------+| 3 | 学习 Java | RUNOOB.COM | 2015-05-01 || 4 | 学习 Python | RUNOOB.COM | 2016-03-06 |+-----------+---------------+---------------+-----------------+2 rows in set (0.01 sec)

MySQL UNION 操作符

MySQL UNION 操作符用于连接两个以上的 SELECT 语句的结果组合到一个结果集合中。多个 SELECT 语句会删除重复的数据。MySQL UNION 操作符语法格式:

SELECT country FROM WebsitesUNIONSELECT country FROM appsORDER BY country;

MySQL 排序

如果我们需要对读取的数据进行排序,我们就可以使用 MySQL 的 ORDER BY 子句来设定你想按哪个字段哪种方式来进行排序,再返回搜索结果。

mysql> use RUNOOB;Database changedmysql> SELECT * from runoob_tbl ORDER BY submission_date ASC;

MySQL GROUP BY 语句

GROUP BY 语句根据一个或多个列对结果集进行分组。在分组的列上我们可以使用 COUNT, SUM, AVG,等函数。

mysql> SELECT name, COUNT(*) FROM employee_tbl GROUP BY name;+--------+----------+| name | COUNT(*) |+--------+----------+| 小丽 | 1 || 小明 | 3 || 小王 | 2 |+--------+----------+3 rows in set (0.01 sec)

MySQL 连接的使用

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

SELECT a.runoob_id, a.runoob_author, b.runoob_countFROM runoob_tbl a INNER JOIN tcount_tbl b ON a.runoob_author = b.runoob_author;+-------------+-----------------+----------------+| a.runoob_id | a.runoob_author | b.runoob_count |+-------------+-----------------+----------------+| 1 | 菜鸟教程 | 10 || 2 | 菜鸟教程 | 10 || 3 | RUNOOB.COM | 20 || 4 | RUNOOB.COM | 20 |+-------------+-----------------+----------------+4 rows in set (0.00 sec)mysql> SELECT a.runoob_id, a.runoob_author, b.runoob_count FROM runoob_tbl a LEFT JOIN tcount_tbl b ON a.runoob_author = b.runoob_author;+-------------+-----------------+----------------+| a.runoob_id | a.runoob_author | b.runoob_count |+-------------+-----------------+----------------+| 1 | 菜鸟教程 | 10 || 2 | 菜鸟教程 | 10 || 3 | RUNOOB.COM | 20 || 4 | RUNOOB.COM | 20 || 5 | FK | NULL |+-------------+-----------------+----------------+5 rows in set (0.01 sec)

MySQL NULL 值处理

IS NULL: 当列的值是 NULL,此运算符返回 true。IS NOT NULL: 当列的值不为 NULL, 运算符返回 true。<=>: 比较操作符(不同于 = 运算符),当比较的的两个值相等或者都为 NULL 时返回 true。

mysql> SELECT * FROM runoob_test_tbl WHERE runoob_count IS NULL;mysql> SELECT * from runoob_test_tbl WHERE runoob_count IS NOT NULL;mysql> SELECT * FROM runoob_test_tbl WHERE runoob_count = NULL;mysql> SELECT * FROM runoob_test_tbl WHERE runoob_count != NULL;

MySQL ALTER命令

当我们需要修改数据表名或者修改数据表字段时,就需要使用到MySQL ALTER命令。开始本章教程前让我们先创建一张表,表名为:testalter_tbl。

mysql> ALTER TABLE testalter_tbl ADD i INT;mysql> ALTER TABLE testalter_tbl DROP i;

MySQL 索引

创建索引CREATE INDEX indexName ON mytable(username(length)); 修改表结构(添加索引)ALTER table tableName ADD INDEX indexName(columnName)删除索引的语法DROP INDEX [indexName] ON mytable;

MySQL 处理重复数据

有些 MySQL 数据表中可能存在重复的记录,有些情况我们允许重复数据的存在,但有时候我们也需要删除这些重复的数据。本章节我们将为大家介绍如何防止数据表出现重复数据及如何删除数据表中的重复数据。防止表中出现重复数据你可以在 MySQL 数据表中设置指定的字段为 PRIMARY KEY(主键) 或者 UNIQUE(唯一) 索引来保证数据的唯一性。让我们尝试一个实例:下表中无索引及主键,所以该表允许出现多条重复记录。

删除重复数据mysql> CREATE TABLE tmp SELECT last_name, first_name, sex FROM person_tbl GROUP BY (last_name, first_name, sex);mysql> DROP TABLE person_tbl;mysql> ALTER TABLE tmp RENAME TO person_tbl;

MySQL 导出数据

45ff4142b3a41cf3b4f003e67fe43fde.png

6ed3f506ab2369d363801ee62ed7d0f2.png

43571601ffdf5db3d9e0b6876b098972.png

MySQL中你可以使用SELECT...INTO OUTFILE语句来简单的导出数据到文本文件上。使用 SELECT ... INTO OUTFILE 语句导出数据

如果你需要导出整个数据库的数据,可以使用以下命令:$ mysqldump -u root -p RUNOOB > database_dump.txtpassword ******

MySQL 导入数据

使用 mysql 命令导入语法格式为:# mysql -uroot -p123456 < runoob.sql

246708025.jpg@s_2,w_500,h_500

一千年以后林俊杰

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值