MySQL数据库的基本操作
创建数据库
我们可以在登陆 MySQL 服务后,使用命令创建数据库,语法如下:
CREATE DATABASE 数据库名;
显示所有的数据库
show databases;
删除数据库
使用普通用户登陆 MySQL 服务器,你可能需要特定的权限来创建或者删除 MySQL 数据库,所以我们这边使用 root 用户登录,root 用户拥有最高权限。 在删除数据库过程中,务必要十分谨慎,因为在执行删除命令后,所有数据将会消失。 语法如下:
drop database 数据库名;
选择数据库
在你连接到 MySQL 数据库后,可能有多个可以操作的数据库,所以你需要选择你要操作的数据库。 可以使用SQL命令来选择指定的数据库:
use 数据库名;
MySQL数据库类型
MySQL 中定义数据字段的类型对你数据库的优化是非常重要的。 MySQL 支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。
数值类型
下面的表显示了需要的每个整数类型的存储和范围。
日期与时间类型
字符串类型
char(n) 和 varchar(n) 中括号中 n 代表字符的个数,并不代表字节个数,比如 CHAR(30) 就可以存储 30 个字符。
MySQL创建数据表
创建MySQL数据表需要以下信息:
-
表名
-
表字段
-
定义每个表字段
语法:
CREATE TABLE table_name (column_name column_type);
以下例子中我们将在数据库中创建数据表book_tbl:
CREATE TABLE book_tbl(
book_id INT AUTO_INCREMENT,
book_title VARCHAR(100) NOT NULL,
book_author VARCHAR(40) NOT NULL,
book_date DATE,
PRIMARY KEY ( book_id )
)CHARSET=utf8;
实例解析:
-
如果你希望字段为 NULL 可以设置字段的属性为 NOT NULL, 在操作数据库时如果输入该字段的数据为NULL ,就会报错。
-
AUTO_INCREMENT定义列为自增的属性,一般用于主键,数值会自动加1。
-
PRIMARY KEY关键字用于定义列为主键。 可以使用多列来定义主键,列间以逗号分隔。
-
CHARSET是设置编码。
成功创建表之后,可以通过命令行查看表结构:
show tables; //查看所有的表
desc book_tbl; //查看book_tbl的结构
MySQL删除数据表
MySQL中删除数据表是非常容易操作的,但是我们在进行删除表操作时要非常谨慎,因为执行删除命令后所有数据都会消失。
语法:以下为删除mysql数据表的通用语法
DROP TABLE 表名;
执行成功后,可以尝试查看表,会发现查询不到。
MySQL插入数据
MySQL 表中使用 INSERT INTO 语句来插入数据。 语法:以下为向MySQL数据表插入数据通用的语法
INSERT INTO 表名 ( 字段1, 字段2,...字段N ) VALUE ( 值1, 值2,...值N );
如果数据是字符型,必须使用单引号或者双引号,如:"value"。 例如:
INSERT INTO book_tbl
(book_id, book_title, book_author, book_date)
VALUE
(1, 'python爬虫', 'xx', NOW());
添加完成之后,可以通过查询语句进行查询:
select * from book_tbl;
MySQL更新数据
如果我们需要修改或更新 MySQL 中的数据,我们可以使用 SQL UPDATE 命令来操作。 语法:以下是 UPDATE 命令修改 MySQL 数据表数据的通用 SQL 语法
UPDATE 表名 SET 字段1=new-value1, 字段2=new-value2 [WHERE 条件];
-
可以同时更新一个或者多个字段
-
你可以在 WHERE 子句中指定条件
实例: 修改表中book_id=1的book_author字段值
UPDATE book_tbl SET book_author='xx2' WHERE book_id=1;
MySQL删除数据
你可以使用 SQL 的 DELETE FROM 命令来删除 MySQL 数据表中的记录。 语法:以下是 SQL DELETE 语句从 MySQL 数据表中删除数据的通用语法
DELETE FROM 表名 [WHERE 条件];
-
如果没有指定 WHERE 子句,MySQL 表中的所有记录将被删除。
-
可以在 WHERE 子句中指定条件。
实例: 删除book_tbl表中book_id=1的记录:
DELETE FROM book_tbl WHERE book_id=1;
删除整个表:
DELETE FROM book_tbl;