目录
一、数据库概述
1.什么是数据库
存储数据的仓库,其本质是一个文件系统,数据库按照特定的格式将数据存储起来,用户可以对数据库中的数据进行增删改查的操作。
2.常见数据库
MySQL数据库开源、免费,且功能足够强大,足以应付web应用开发,使用最多。
3.控制台连接MySQL数据库
(1)登录格式1: mysql -u用户名 -p密码
mysql -u用户名 -p回车 密码
(2)登录格式2: mysql -hip地址 -u用户名 -p密码
例如: mysql –h127.0.0.1 –uroot -proot
(3)登录格式3: mysql --host=ip地址 --user=用户名 --password=密码
例如: mysql --host=localhost --user=root --password=root
(4)退出MySQL: exit
二、SQL语句
1.SQL语句分类
(1)DDL:数据定义语言
关键字:create, drop,alter等
(2)DML:数据操作语言
关键字:insert, delete, update等
(3)DQL:数据查询语言
关键字:select, where等
(4)DCL:数据控制语言
关键字:GRANT, REVOKE等
2.SQL通用语法
(1)SQL语句可以单行或多行书写,以分号结尾。
(2)可使用空格和缩进来增强语句的可读性。
(3)MySQL数据库的SQL语句不区分大小写,关键字建议使用大写。
(4)单行注释: -- 注释内容 或者 # 注释内容(MySQL独有)
(5)多行注释: /* 注释 */
三、DDL语句
1.DDL操作数据库
(1)创建数据库
①直接创建数据库:
CREATE DATABASE 数据库名;
②判断是否存在并创建数据库:
CREATE DATABASE IF NOT EXISTS 数据库名;
③创建数据库并制定字符集(编码表):
CREATE DATABASE 数据库名 CHARACTER SET 字符集;
(2)查看数据库
①查看所有的数据库
SHOW databases;
②查看某个数据库的定义信息
SHOW CREATE DATABASE 数据库名;
(3)修改数据库
①修改数据库字符集格式
ALTER DATABASE 数据库名 DEFAULT CHARACTER SET 字符集;
(4)删除数据库
DROP DATABASE 数据库名;
(5)使用数据库
①查看正在使用的数据库
SELECT DATABASE();
②使用/切换数据库
USE 数据库名;
2.DDL操作表
(1)创建表
CREATE TABLE 表名(字段名1 字段类型1,字段名2 字段类型2...);
建议写为:
CREATE TABLE 表名 (
字段名1 字段类型1,
字段名2 字段类型2
);
(2)查看表
①查看某个数据库中的所有表
SHOW TABLES;
②查看表结构
DESC 表名;
③查看创建表的SQL语句
SHOW CREATE TABLE 表名;
(3)快速创建一个表结构相同的表
CREATE TABLE 新表名 LIKE 旧表名;
(4)删除表
①直接删除表
DROP TABLE 表名;
②判断表是否存在并删除表
DROP TABLE IF EXISTS 表名;
(5)修改表结构
①添加表列
ALTER TABLE 表名 ADD 列名 类型;
②修改列类型
ALTER TABLE 表名 MODIFY 列名 新的类型;
③修改列名
ALTER TABLE 表名 CHANGE 旧列名 新列名 类型;
④删除列
ALTER TABLE 表名 DROP 列名;
⑤修改表名
RENAME TABLE 表名 TO 新表名;
⑥修改字符集
ALTER TABLE 表名 character set 字符集;
三、DML语句
1.插入记录
(1)插入全部字段
①所有的字段名都写出来
INSERT INTO 表名(字段名1,字段名2,字段名3...) VALUES(值1,值2,值3);
②不写字段名
INSERT INTO 表名 VALUES(值1,值2,值3);
(2)插入部分数据
INSERT INTO 表名(字段名1,字段名2,...) VALUES (值1,值2,...)
没有添加数据的字段会使用NULL
注意:
***值与字段必须对应,个数相同,类型相同。
***值的数据大小必须在字段的长度范围内。
***除了数值类型,其它字段类型必须使用引号。(建议单引号)
***如果要插入空值,可以不写入字段,或者插入null。
2.更新表记录
(1)不带条件修改数据
UPDATE 表名 SET 字段名=值;
(2)带条件修改数据
UPDATE 表名 SET 字段名=值 WHERE 字段名=值;
3.删除表记录
(1)不带条件删除数据
DELETE FROM 表名;
(2)带条件删除数据
DELETE FROM 表名 WHERE 字段名=值;
(3)truncate删除表记录
TRUNCATE TABLE 表名;
(4)truncate和delete的区别
①delete是将表中的数据一条一条删除
②truncate是将整个表摧毁,在重新创建一个新的表
四、DQL
1.简单查询
(1)查询表所有数据
SELECT * FROM 表名;
(2)查询指定列
SELECT 字段名1,字段名2... FROM 表名;
2.别名查询
SELECT 字段名1 AS 别名,字段名2 AS 别名... FROM 表名;
AS可以省略
3.清除重复值
SELECT DISTINCT 字段名 FROM 表名;
eg:查询name,age列且结果不出现重复name
SELECT DISTINCT name,age FROM student;
4.查询结果参与运算
(1)某列数据和固定值运算
SELECT 列名1+固定值 FROM 表名;
(2)某列数据和其它列数据参与运算
SELECT 列名1+列名2 FROM 表名;