1.MySql概述:
<1>.数据库相关概念:
(1)数据库(DB):存储数据的仓库,数据是有组织的进行存储;
(2)数据库管理系统(DBMS):操作和管理数据库大型软件;
(3)sql:操作关系型数据库编程语言,定义了一套操作关系型数据库的统一标准;
<2>连接mysql:
(1)mysql -h localhost -P 3306 -u root -p root(常用)
<3>数据模型:
(1)关系型数据库(RDBMS):建立在关系模型的基础上,有多张相互连接的二维表组成的数据库;
(2)特点:
-
使用表存储数据,格式统一,便于维护;
-
使用sql语言操作,标准统一,使用方便;
(3)模型:
2.SQL:
<1>sql语句通用语法:
-
sql语句可以单行或多行书写,以分号结尾;
-
sql语句可以使用空格/缩进来增强语句的可读性;
-
mysql数据库的sql语句不区分大小写,关键字使用大写;
-
注释:
-
单行注释:-- 注释内容或# 注释内容(mysql特有);
-
多行注释:/* 注释内容 */
-
<2>sql语句分类:
分类 | 全称 | 说明 |
---|---|---|
DDL | Data Definition Language | 数据定义语言,用来定义数据库对象(数据库,表,字段) |
DML | Data Manipulation Language | 数据操作语言,用来对数据库表中的数据进行增删改 |
DQL | Data Query Language | 数据查询语言,用来查询数据库表中的记录 |
DCL | Data Control Language | 数据控制语言,用来创建数据库用户、控制数据库的访问权限 |
<3>DDL:
(1)数据库操作:
-
查询:
-
查询所有数据库:
SHOW DATABASES;
-
查询当前数据库:
SELECT DATABASE();
-
-
创建:
CREATE DATABASES[IF NOT EXISTS] 数据库名 [DEFAULT CHARSET 字符集][COLLATE 排序规则]
-
删除:
DROP DATABASE[IF EXISTS]数据库名;
-
使用:
USE 数据库名;
(2)表操作-查询:
-
查询当前数据库所有表:
SHOW TABLES;
-
查询表结构:
DESC 表名;
-
查询指定表的建表语句:
SHOW CREATE TABLE 表名;
(3)表结构-创建:
CREATE TABLE 表名(
字段1 字段1类型[COMMENT 字段1注释],
字段2 字段2类型[COMMENT 字段2注释],
字段3 字段3类型[COMMENT 字段3注释],
……
字段n 字段n类型[COMMENT 字段n注释]
)[COMMENT 表注释];
-
注意:[……]为可选参数,最后一个字段后面没有逗号;
-
例:
create table tb_user(
id int comment '编号',
name varchar(50) comment '姓名',
age int comment '年龄'
) comment '用户表';
(4)表操作-数据类型:
(5)表操作-修改&删除:
-
添加字段:
ALTER TABLE表名 ADD 字段名 类型(长度) [COMMENT 注释][约束];
-
案例:为emp表中增加一个新的字段“昵称”为nickname,类型为varchar(20);
ALTER TABLE emp ADD nickname varchar(20);
<1>修改:
(1)修改数据类型:
ALTER TABLE表名 MODIFY 字段名 新数据类型(长度);
-
修改字段名和字段类型:
ALTER TABLE表名 CHANGE 旧字段名 新字段名 类型(长度)[COMMENT注释][约束];
-
例:将emp表中nickname字段修改为username,类型为varchar(30);
-
ALTER TABLE emp change nickname username varchar(30);
-
-
(2)修改表名:
ALTER TABLE表名 RENAME TO 新表名;
<2>删除
(1)字段:
ALTER TABLE表名 DROP 字段名;
(2)表:
DROP TABLE[IF EXISTS]表名;
-
删除指定表,并重新创建该表:
TRUNCATE TABLE 表名;
-
注意:以上两种删除,在删除表时,表中全部数据也会被删除。
(6)小结:
<4>DML:
(1)添加数据:
-
给指定字段添加数据:
INSERT INTO表名(字段1,字段2,……) VALUES(值1,值2,……);
-
给全部字段添加数据:
INSERT INTO 表名 VALUES(值1,值2,……);
-
批量添加数据:
INSERT INTO 表名(字段1,字段2,……) VALUES(值1,值2,……)(值1,值2,……)(值1,值2,……);
INSERT INTO 表名 VALUES(值1,值2,……)(值1,值2,……)(值1,值2,……);
注意:
-
插入数据,指定的字段顺序需要与值的顺序一一一对应;
-
字符串和日期型数据应该包含在引号中;
-
插入的数据大小,应该在字段的规定范围内。
(2)修改数据:
-
格式:
UPDATE 表名 SET 字段名1=值1,字段名2=值2,……[WHERE 条件];
-
注意:修改语句的条件可以有,也可以没有,如果没有条件,则会修改整张表的所有数据。
(3)删除数据:
-
格式:
DELETE FROM 表名[WHERE 条件];
-
注意:
-
修改语句的条件可以有,也可以没有,如果没有条件,则会修改整张表的所有数据;
-
delete语句不能删除某一个字段的值(可以使用update)。
-