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 条件;
未完待续
欢迎大家阅读《MySQL基础(札记整理)_mysql》,跪求各位点评,by 搞代码