MySQL(关系型)
MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
运行数据库
1、cmd
mysql -h 主机名 -u 用户名 -p
- -h : 指定客户端所要登录的 MySQL 主机名, 登录本机(localhost 或 127.0.0.1)该参数可以省略;
- -u : 登录的用户名;
- -p : 告诉服务器将会使用一个密码来登录, 如果所要登录的用户名密码为空, 可以忽略此选项。
如果我们要登录本机的 MySQL 数据库,只需要输入以下命令即可:
mysql -u root -p
例:mysql -uroot -p
按回车确认, 如果安装正确且 MySQL 正在运行, 会得到以下响应:
Enter password:
创建数据库
CREATE DATABASE name;
删除数据库
drop database <name>;
使用数据库
USE name
数据表操作
1、创建数据表
CREATE TABLE table_name(colume_name column_type)
CREATE TABLE IF NOT EXISTS student(
stu_id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
stu_name VARCHAR(255) NOT NULL,
stu_pass VARCHAR(255) NOT NULL
)ENGINE = InnODB DEFAULT CHARSET = utf8
例:
CREATE TABLE IF NOT EXISTS student(
student_id INT,
student_name VARCHAR(10),
student_pass VARCHAR(10)
);
- 如果你不想字段为 NULL 可以设置字段的属性为 NOT NULL, 在操作数据库时如果输入该字段的数据为NULL ,就会报错。
- AUTO_INCREMENT定义列为自增的属性,一般用于主键,数值会自动加1。
- PRIMARY KEY关键字用于定义列为主键。 您可以使用多列来定义主键,列间以逗号分隔。
- ENGINE 设置存储引擎,CHARSET 设置编码。
2、插入数据
INSERT INTO table_name(field1,field2,...filedN)
VALUES
(value1,value2,..valueN);
例:1、由于student_id自增,所以不许给值,只需要一个占位数据
INSERT INTO student(student_id,student_name,student_pass) VALUES(0,'QBQ','123456')
2、插入数据时,可以不指定列名,给定数据时必须严格对照表的结构
INSERT INTO student VALUES(0,'hhh','123244');
3、插入多条数据
INSERT INTO student VALUES(0,'12','213'),(0,'2','3e243')
2、查询数据
SELECT colum_name,column_name
FROM table_name
[WHERE Clause]
[LIMIT N] [OFFSET M]
例:1、查询数据表中所有字段的数据--所有自动通过*进行指定
SELECT * FROM `student`
2、查询指定列的数据
SELECT student_name,student_pass FROM student
3、查询指定条件的信息
SELECT * FROM student WHERE student_id = 1
- 查询语句中你可以使用一个或者多个表,表之间使用逗号,)分割,并使用WHERE语句来设定查询条件。
- SELECT命令可以读取一条或者多条记录。
- 你可以使用星号(*)来代替其他字段,SELECT语句会返回表的所有字段数据你可以使用WHERE语句来包含任何条件。
- 你可以使用LIMIT属性来设定返回的记录数。
- 你可以通过OFFSET指定SELECT语句开始查询的数据偏移量。默认情况下偏移量为0。
条件查询
- 我们知道从 MySQL 表中使用 SQL SELECT 语句来读取数据。
- 如需有条件地从表中选取数据,可将 WHERE 子句添加到 SELECT 语句中。
SELECT field1, field2,...fieldN FROM table_name1, table_name2...
[WHERE condition1 [AND [OR]] condition2.....
- 查询语句中你可以使用一个或者多个表,表之间使用逗号,分割,并使用WHERE语句来设定查询条件。
- 你可以在WHERE子句中指定任何条件。
- 你可以使用AND或者OR指定一个或多个条件。
- WHERE子句也可以运用于SQL的 DELETE 或者UPDATE命令。
- WHERE子句类似于程序语言中的if条件,根据MySQL表中的字段值来读取指定的数据。
以下为操作符列表,可用于 WHERE 子句中。 下表中实例假定 A 为 10, B 为 20
3、数据更新
UPDATE table_name SET field1 = new-value1,field2 = new-value2[WHERE Clause]
例:1、通过where进行条件指定
UPDATE student SET student_pass = '11111' WHERE student_id = 1
- 你可以同时更新一个或多个字段。
- 你可以在WHERE子句中指定任何条件。
- 你可以在一个单独表中同时更新数据。
4、删除数据
DELETE FROM table_name [WHERE Clause]
例:删除指定条件的信息
DELETE FROM student WHERE student_id = 4
- 如果没有指定WHERE子句,MySQL表中的所有记录将被删除。
- 你可以在 WHERE子句中指定任何条件
- 您可以在单个表中一次性删除记录。
5、模糊查询
SELECT field1,field2...fieldN
FROM table_name
WHERE field1 like condition [AND [OR]] filed2 = 'somevalue'
例:SELECT * FROM student WHERE student_name LIKE '%强'
- 你可以在WHERE子句中指定任何条件。
- 你可以在WHERE子句中使用LIKE子句。你可以使用LIKE子句代替等号=。
- LIKE通常与%同使用,类似于一个元字符的搜索。·你可以使用AND或者OR指定一个或多个条件。
- 你可以在DELETE或 UPDATE命令中使用WHERE…LIKE子句来指定条件。