MySQL基础(笔记整理)
一、尝试MySQL
1.打开MySQL
# 启动MySQL服务
sudo service mysql start
# 使用 root 用户登录,这里密码为空,直接回车登录
mysql -u root
2.查看数据库:
show databases;
3.连接数据库:
use
4.查看表:
SHOW TABLES;
5.退出
exit 或 quit
二、创建数据库并插入数据
1.新建数据库
CREATE DATABASE ;
2.新建数据表
CREATE TABLE
(
列名a 数据类型(数据长度),
列名b 数据类型(数据长度),
列名c 数据类型(数据长度)
);
3.查看表内容
SELECT * FROM ;
4.向表中插入数据
INSERT INTO 表名(列名a,列名b,列名c)
VALUES(值1,值2,值3);
三、SQL的约束
1.约束分类
约束是一种限制,它通过对表的行或列的数据做出限制,来确定表的数据的完整性、唯一性。
主键
默认值
唯一
外键
非空
PRIMARY KEY
DEFAULT
UNIQUE
FOREIGN KEY
NOT NULL
用于约束表中的一行,作为这一行的标识符,主键不能重复且不能为空;复合主键
唯一不重复
保证数据完整性,也能表现表之间的关系,每个外键必须REFERENCES(参考)另一个表的主键
四、SELECT 语句详解
1.基本SELECT语句
SELECT 列名 FROM 表名 WHERE 限制条件;
2.数学符号条件
=,,>=,<=,<>
3."AND" 与 "OR"
4.IN 和 NOT IN
IN: 在 或 不在 某个范围内
NOT IN: 在也不在 某个范围内
5.通配符
关键字 LIKE
两个通配符:_ (代表一个未指定字符)和 % (代表不定个未指定字符)
-- 只记得电话号码前五位
SELECT name,phone FROM employee WHERE phone LIKE '1347_ _ _ _ _ _ _';
-- 只记得名字首字母,却不知道长度
SELECT name,phone FROM employee WHERE name LIKE 'L%';
6.对结果排序
ORDER BY
-- 默认升序;关键词:ASC(升序),DESC(降序)
SELECT name,salary FROM employee ORDER BY salary DESC;
7.SQL内置函数算
COUNT、SUM、AVG、MAX、MIN
8.子查询
9.连接查询
五、数据库及表的修改和删除
1.删除数据库
DROP DATABASE 数据库名
2.重命名表
RENAME TABLE 原名 TO 新名字;
ALTER TABLE 原名 RENAME 新名;
ALTER TABLE 原名 RENAME TO 新名;
3.删除表
DROP TABLE 表名;
4.对列的修改(即对表的结构修改)
-- 1)增加一列
ALTER TABLE 表名 ADD COLUMN 列名 数据类型 约束;
-- 或:
ALTER TABLE 表名 ADD 列名 数据类型 约束;
-- 2)删除一列
ALTER TABLE 表名 DROP COLUMN 列名;
-- 或:
ALTER TABLE 表名 DROP 列名;
-- 3)重命名列 (这里数据类型不能省略,否则失败)
ALTER TABLE 表名 CHANGE 原列名 新列名 数据类型 约束;
-- 4)改变数据类型
-- 也可以使用CHANGE
-- 提醒:修改数据类型可能会导致数据丢失
ALTER TABLE 表名 MODIFY 列名 新数据类型;
5.对表内容的修改
-- 1)修改表中某个值
UPDATE 表名 SET 列1=值1,列2=值2 WHERE 条件;
-- 2)删除一行记录
DELETE FROM 表名 WHERE 条件;
未完待续