您现在的位置是: 网站首页> MySQL MySQL
MySQL的基本操作与使用(1)
Smile 2019-07-06 14:46:13 MySQL 阅读:2312
简介MySQL 是最流行的关系型数据库管理系统,在web应用开发中大量使用,与PHP和Apache堪称web开发中的黄金搭档,并且开源免费,备受开发者的喜爱,本文讲解MySQL一些基本操作和使用,让你快速掌握 MySQL 的基本知识,并轻松使用 MySQL 数据库。
1、连接MySQL
F:\phpEnv\server\mysql\mysql-5.7\bin>mysql -uroot -p
Enter password: ****
2、创建数据库
CREATE DATABASE IF NOT EXISTS 数据库名 DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
CREATE DATABASE IF NOT EXISTS 数据库名 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
(1)使用mysqladmin创建数据库
F:\phpEnv\server\mysql\mysql-5.7\bin>mysqladmin -uroot -p create test
Enter password: ****
(2)先连接MySQL,然后使用create创建数据库
mysql> create database test2;
Query OK, 1 row affected (0.00 sec)
3、查看数据库
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| blog |
| mysql |
| myvideo |
| performance_schema |
| sys |
| test |
| test2 |
+--------------------+
8 rows in set (0.00 sec)
4、删除数据库
(1)使用mysqladmin删除数据库
F:\phpEnv\server\mysql\mysql-5.7\bin>mysqladmin -uroot -p drop test
Enter password: ****
Dropping the database is potentially a very bad thing to do.
Any data stored in the database will be destroyed.
Do you really want to drop the 'test' database [y/N] y
Database "test" dropped
(2)先连接MySQL,然后使用drop删除数据库
mysql> drop database test2;
Query OK, 0 rows affected (0.00 sec)
5、选择数据库
mysql> use mysql;
Database changed
6、创建数据表,先来个示例:
CREATE TABLE IF NOT EXISTS `article`(
`id` INT UNSIGNED AUTO_INCREMENT,
`title` VARCHAR(100) NOT NULL,
`author` VARCHAR(40) NOT NULL,
`content` TEXT NOT NULL,
PRIMARY KEY ( `id` )
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
在客户端黑窗口输入时:
mysql> CREATE TABLE IF NOT EXISTS `article`(
-> `id` INT UNSIGNED AUTO_INCREMENT,
-> `title` VARCHAR(100) NOT NULL,
-> `author` VARCHAR(40) NOT NULL,
-> `content` TEXT NOT NULL,
-> PRIMARY KEY ( `id` )
-> )ENGINE=InnoDB DEFAULT CHARSET=utf8;
Query OK, 0 rows affected (0.60 sec)
注:
(1)上面创建数据表只列举了几个数据类型,更多数据类型自行百度
(2)MySQL 字段应该尽量设置为 NOT NULL,默认值应该用 0、一个特殊的值或者一个空串代替空值。因为NULL影响查询性能
#查看表结构
DESC article \G;
7、删除数据表
mysql> drop table article;
Query OK, 0 rows affected (0.44 sec)
8、清空表数据
DELETE FROM 数据表名;
TRUNCATE TABLE 数据表名;(会重置自增)
9、导出数据
(1)使用 SELECT ... INTO OUTFILE 语句导出数据,示例:
SELECT * INTO OUTFILE 'C:\\Users\\Administrator\\Desktop\\article.txt'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\r\n'
FROM article;
在客户端黑窗口输入时:
mysql> SELECT * INTO OUTFILE 'C:\\Users\\Administrator\\Desktop\\article.txt'
-> FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
-> LINES TERMINATED BY '\r\n'
-> FROM article;
Query OK, 1 row affected (0.00 sec)
注:修改MYSQL配置文件my.cnf 或 my.ini,加入以下语句后重启mysql
secure_file_priv=''
- secure_file_priv 为 NULL 时,表示限制mysqld不允许导入或导出
- secure_file_priv 为 /tmp 时,表示限制mysqld只能在/tmp目录中执行导入导出,其他目录不能执行
- secure_file_priv 没有值时,表示不限制mysqld在任意目录的导入导出
(2)使用 mysqldump导出数据,示例:
mysqldump -u root -p test article > C:\\Users\\Administrator\\Desktop\\article.sql
输出:
F:\phpEnv\server\mysql\mysql-5.7\bin>mysqldump -u root -p test article > C:\\Use
rs\\Administrator\\Desktop\\article.txt
Enter password: ****
(3)导出所有数据库,示例:
mysqldump -u root -p --all-databases > C:\\Users\\Administrator\\Desktop\\all_database.txt
10、导入数据
(1)使用source 命令导入数据库文件
先连接MySQL
F:\phpEnv\server\mysql\mysql-5.7\bin>mysql -uroot -p
Enter password: ****
然后选择数据库
mysql> use test;
Database changed
最后导入数据库
source C:\\Users\\Administrator\\Desktop\\article.sql
(2)使用 LOAD DATA 导入数据,示例:
LOAD DATA LOCAL INFILE 'C:\\Users\\Administrator\\Desktop\\article.txt' INTO TABLE article
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\r\n';
输出:
mysql> LOAD DATA LOCAL INFILE 'C:\\Users\\Administrator\\Desktop\\article.txt' I
NTO TABLE article
-> FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
-> LINES TERMINATED BY '\r\n';
Query OK, 4 rows affected (0.13 sec)
Records: 4 Deleted: 0 Skipped: 0 Warnings: 0
当你的数据文件的每列数据与表的列不对应时,也可以指定数据表的列
LOAD DATA LOCAL INFILE 'C:\\Users\\Administrator\\Desktop\\article.txt' INTO TABLE article
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' ESCAPED BY '\\'
LINES TERMINATED BY '\r\n'
(id, title, author, content, cid, status);
- TERMINATED:表示字段间的分隔符
- OPTIONALLY ENCLOSED BY:表示字段值由什么符号包围
- ESCAPED BY:表示指定转义字符
- LINES TERMINATED BY:表示每一行的起始符与终止符,默认情况下,起始符为空,终止符为'\n',对于windows产生的文本文件来说,需要指定换行符为'\r\n'
注:当数据量非常大时,建议使用SELECT ... INTO OUTFILE 和LOAD DATA 语句导出导入数据库,这种方式非常的快
很赞哦! (1)
下一篇:MySQL的基本操作与使用(2)