##MySQL基础(一)
###第一章
*数据库:DB
作用:用于永久性存储和管理数据的仓库.
* 管理员CMD小黑窗口
*
a.开启服务 net start mysql
b.关闭服务 net stop mysql
MySQL 登陆:
a.登陆自己的:在CMD命令提示符中 输入 mysql -uroot -p 密码
b.登陆别人的:(别人在安装的时候,勾选远程访问)
方式1: mysql -h 127.0.0.1 -u root -p 密码
方式2: mysql --host=127.0.0.1 --user=root --password==密码
c.退出:1.exit
2.quit
MySQL的重要文件:
A.安装文件
my.ini 可以修改编码问题(例如:可以解决中文乱码的问题)
B.数据文件
文件夹 --------> 数据库
excel文件 -----> 表
很多条数据 ----> 表记录
###第二章
DDL:数据库和表的操作
1.创建数据库:【增、删、改、查、使用】
1.创建数据库:
CREATE DATABASE 数据库名称;
2.综合创建数据库并判断是否存在,指定字符集;
CREATE DATABASE IF NOT EXISTS 数据库名称 CHARACTER SET 具体编码
3.查询数据库
SHOW DATABASES;(显示所有的数据库)
SHOW CREATE DATABASE 数据库名称;(隐含作用:查看数据库的字符集)
4.修改数据库
ALTER DATABASES 数据库名 CHARACTER SET 具体的编码;(修改数据库的字符集)
5.使用数据库
USE 数据库名称;
SELECT DATABASE();(查询正在使用当中的数据库)
2.表的操作:【增、删、改、查】
1.查询表
SHOW TABLES;(查询数据库中所有的表信息)
DESC 表名;(查询某个具体的表结构--每个字段的信息)
2.创建表
A.基本的创建格式
CREATE TABLE 表名称 (列名1 类型1,列名2 类型2,列名3 类型3);
B.复制表的操作
CREATE TABLE 新表名称 LIKE 原始表;
C.常用的数据类型
a.整数类型 int
b.小数类型 double(4,1) 4表示有4个数字,1表示精确小数点后1位
c.字符串类型 varchar(24) 24表示最大容纳24个字符
d.日期类型 date 需要手动的插入数据到数据库当中
3.删除表
A.基本删除操作:DROP TABLE 表名称;
B.判断是否存在,存在则删除;DROP TABLE IF EXISTS 新的表名;
4.修改表
A.修改表名:ALTER TABLE 原始表名称 RENAME TO 新的表名;
B.修改表的字符集:ALTER TABLE 表名称 CHARACTER SET 字符编码;
C.修改列名:ALTER TABLE 表名称 CHANEGE 旧列表名称 新列表名称 新列数据类型;
ALTER TABLE 表名称 MODIFY 要修改的列名 新的数据类型;
D.增加一列:ALTER TABLE 表名称 ADD 列名称 新的数据类型;
E.删除一列:ALTER TABLE 表名称 DROP 列名称;
###第三章
DML:数据库操作表记录,增删改
1、表记录的添加语句
A.添加指定列的数据
INSERT INTO 表名称 (列名1,列名2,列名3) VALUES (值1,值2,值3);
B.添加所有列的数据
INSERT INTO 表名称 VALUES (值1,值2,值3,值4,值5);
C.注意事项
除了数字类型(整数和小数)以外,其他的都要采用引号(单引号双引号都可以)引起来
2、表记录的删除语句
A.删除指定的某些条记录
DELETE FROM 表名称 [WHERE 条件];
B.删除整个表的操作(面试可能会问)
a. DELETE FROM 表名称; -- 删除整个表(逐行删除) 效率低
b. TRUNCATE TABLE 表名称; -- 删除整个表(先删表,再建表) 效率高 【推荐使用】
3、表记录的修改语句
A.常见修改语句的操作(带有条件)
UPDATE 表名称 SET 列名1=值1,列名2=值2 [WHERE 条件];
B.不常见的修改语句操作(修改所有的情况)
UPDATE 表名称 SET 列名1=值1,列名2=值2;
###第四章
DQL:增删改表中数据
1、基础查询
A.多个字段的查询操作
a.通用写法
SELECT * FROM 表名称;
b.指定列写法
SELECT 列名1,列名2,列名3 FROM 表名称;
B.去掉重复的查询操作
SELECT DISTINCT 列名 FROM 表名称;
C.四则运算计算列的操作
SELECT IFNULL (列名1,0) + 列名2 FROM 表名称;
D.给查询结果起别名的操作
SELECT 列名1 AS 别名1,列名2 别名2 FROM 表名称;
2、条件查询 WHERE 后面的格式写法
A.与 && (理解)
a.写法1: SELECT * FROM 表名称 WHERE age>20 && age<30;
b.写法2: SELECT * FROM 表名称 WHERE age>20 AND age<30;
c.写法3: SELECT * FROM 表名称 WHERE age BETWEEN 20 AND 30;
B.或 || (理解)
a.写法1: SELECT * FROM 表名称 WHERE age=20 || age=30;
b.写法2: SELECT * FROM 表名称 WHERE age=20 OR age=30;
c.写法3: SELECT * FROM 表名称 WHERE age IN(20,30); -- 年龄是20或者30的才可以
C.非 ! (理解)
a.写法1: SELECT * FROM 表名称 WHERE address IS NULL; -- 居住地是Null
b.写法2: SELECT * FROM 表名称 WHERE address IS NOT NULL; -- 居住地不是Null
3、模糊查询 WHERE LIKE
A.两个占位符
a. '_' 下划线,表示1个字符
b. '%' 百分号,表示0个或多个字符
B.案例
-- 查询姓'武'
SELECT * FROM hero WHERE name LIKE '武%';
-- 查询姓'武'只有两个字
SELECT * FROM hero WHERE name LIKE '武_';
-- 查询第二个字是'文'的
SELECT * FROM hero WHERE name LIKE '_文%';
-- 查询只要带有'李'字的
SELECT * FROM hero WHERE name LIKE '%李%';
-- 查询所有学生的成绩,按数学成绩降序输出 DESC(降序)
SELECT * FROM student ORDER BY math DESC;
-- 对姓李的学生总成绩升序输出 ASC(升序)
SELECT * FROM student ORDER BY (chinese+math+english) ASC;
MySQL基础(一)
最新推荐文章于 2024-08-07 17:40:37 发布