MYSQL学习笔记

1、输入命令尝试打开MySQL服务:
sudo service mysql start
mysql -u root
2、查看数据库
使用命令 show databases;,查看有哪些数据库(注意不要漏掉分号 ;)
3、连接数据库
use <数据库名>
use information_schema
4、查看表
使用命令
show tables; 查看数据库中有哪些表(注意不要漏掉“;”)
5、 新建数据库
语句格式为 CREATE DATABASE <数据库名字>;,(注意不要漏掉分号 ;)
6、新建数据表
CREATE TABLE 表的名字
(
列名a 数据类型(数据长度),
列名b 数据类型(数据长度),
列名c 数据类型(数据长度)
);
7、查看表的内容
SELECT * FROM <表的名字>
SELECT * FROM employee
8、插入数据
INSERT INTO 表的名字(列名a,列名b,列名c) VALUES(值1,值2,值3);
9、SELECT语句详解
SELECT 要查询的列名 FROM 表名字 WHERE 限制条件;
10、通配符
关键字 LIKE 在SQL语句中和通配符一起使用,通配符代表未知字符。SQL中的通配符是 _ 和 % 。其中 _ 代表一个未指定字符,% 代表不定个未指定字符。
SELECT name,age,phone FROM employee WHERE phone LIKE ‘1101__’;
SELECT name,age,phone FROM employee WHERE name LIKE ‘J%’;
11、对结果排序
为了使查询结果看起来更顺眼,我们可能需要对结果按某一列来排序,这就要用到 ORDER BY 排序关键词。默认情况下,ORDER BY的结果是升序排列,而使用关键词ASC和DESC可指定升序或降序排序。
SELECT name,age,salary,phone FROM employee ORDER BY salary DESC;
12、SQL内置函数
SQL 允许对表中的数据进行计算。对此,SQL 有 5 个内置函数,这些函数都对 SELECT 的结果做操作:
函数名: COUNT SUM AVG MAX MIN
作用: 计数 求和 求平均值 最大值 最小值
其中 COUNT 函数可用于任何数据类型(因为它只是计数),而 SUM 、AVG 函数都只能对数字类数据类型做计算,MAX 和 MIN 可用于数值、字符串或是日期时间数据类型。
SELECT MAX(salary) AS max_salary,MIN(salary) FROM employee;
13、 子查询
上面讨论的 SELECT 语句都仅涉及一个表中的数据,然而有时必须处理多个表才能获得所需的信息。例如:想要知道名为 “Tom” 的员工所在部门做了几个工程。员工信息储存在 employee 表中,但工程信息储存在project 表中。
SELECT of_dpt,COUNT(proj_name) AS count_project FROM project
WHERE of_dpt IN
(SELECT in_dpt FROM employee WHERE name=’Tom’);
14、连接查询
在处理多个表时,子查询只有在结果来自一个表时才有用。但如果需要显示两个表或多个表中的数据,这时就必须使用连接 (join) 操作。
连接的基本思想是把两个或多个表当作一个新的表来操作。
SELECT id,name,people_num
FROM employee,department
WHERE employee.in_dpt = department.dpt_name
ORDER BY id;

SELECT id,name,people_num
FROM employee JOIN department
ON employee.in_dpt = department.dpt_name
ORDER BY id;
15、删除数据库
DROP DATABASE <数据库名>;
16、对一张表的修改
RENAME TABLE 原名 TO 新名字;
ALTER TABLE 原名 RENAME 新名;
ALTER TABLE 原名 RENAME TO 新名;
17、删除一张表
DROP TABLE 表名字;
18、 对一列的修改(即对表结构的修改)
增加一列
ALTER TABLE 表名字 ADD COLUMN 列名字 数据类型 约束;
或: ALTER TABLE 表名字 ADD 列名字 数据类型 约束;
删除一列
LTER TABLE 表名字 DROP COLUMN 列名字;
或: ALTER TABLE 表名字 DROP 列名字;
重命名一列
ALTER TABLE 表名字 CHANGE 原列名 新列名 数据类型 约束;
注意:这条重命名语句后面的 “数据类型” 不能省略,否则重命名失败。
当原列名和新列名相同的时候,指定新的数据类型或约束,就可以用于修改数据类型或约束。需要注意的是,修改数据类型可能会导致数据丢失,所以要慎重使用。
改变数据类型
ALTER TABLE 表名字 MODIFY 列名字 新数据类型;
再次提醒,修改数据类型必须小心,因为这可能会导致数据丢失。在尝试修改数据类型之前,请慎重考虑。
修改表中的某一个值
UPDATE 表名字 SET 列1=值1,列2=值2 WHERE 条件;
删除一行记录
删除表中的一行数据,也必须加上WHERE条件,否则整列的数据都会被删除。
删除语句:
DELETE FROM 表名字 WHERE 条件;
19、 索引
当表中有大量记录时,若要对表进行查询,没有索引的情况是全表搜索:将所有记录一一取出,和查询条件进行一一对比,然后返回满足条件的记录。这样做会消耗大量数据库系统时间,并造成大量磁盘 I/O 操作。
而如果在表中已建立索引,在索引中找到符合查询条件的索引值,通过索引值就可以快速找到表中的数据,可以大大加快查询速度。
ALTER TABLE employee ADD INDEX idx_id (id);
#在employee表的id列上建立名为idx_id的索引
CREATE INDEX idx_name ON employee (name);
#在employee表的name列上建立名为idx_name的索引
20、视图
视图是从一个或多个表中导出来的表,是一种虚拟存在的表。它就像一个窗口,通过这个窗口可以看到系统专门提供的数据,这样,用户可以不用看到整个数据库中的数据,而只关心对自己有用的数据。
注意理解视图是虚拟的表:数据库中只存放了视图的定义,而没有存放视图中的数据,这些数据存放在原来的表中;使用视图查询数据时,数据库系统会从原来的表中取出对应的数据;视图中的数据依赖于原来表中的数据,一旦表中数据发生改变,显示在视图中的数据也会发生改变;在使用视图的时候,可以把它当作一张表。
创建视图的语句格式为:
CREATE VIEW 视图名(列a,列b,列c) AS SELECT 列1,列2,列3 FROM 表名字;
可见创建视图的语句,后半句是一个SELECT查询语句,所以视图也可以建立在多张表上,只需在SELECT语句中使用子查询或连接查询。
21、导入
LOAD DATA INFILE ‘文件路径和文件名’ INTO TABLE 表名字;
22、导出
导出与导入是相反的过程,是把数据库某个表中的数据保存到一个文件之中。
导出语句基本格式为:
SELECT 列1,列2 INTO OUTFILE ‘文件路径和文件名’ FROM 表名字;
23、备份
备份与导出的区别:导出的文件只是保存数据库中的数据;而备份,则是把数据库的结构,包括数据、约束、索引、视图等全部另存为一个文件。
mysqldump -u root 数据库名>备份文件名; #备份整个数据库
mysqldump -u root 数据库名 表名字>备份文件名; #备份整个表(在终端输入)
24、恢复
source /tmp/SQL6/MySQL-06.sql
也是恢复(在数据库环境下输入)
mysql -u root test < bak.sql(在终端输入)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值