Mysql-basic-1
This is my study note of MySql.
Learning vedio link : 黑马程序员
Basic Part 1
Basic structure
classify | name | illustrate |
---|---|---|
DDL | Data definition language | 数据定义语言 |
DML | Data manipulation language | 数据操作语言 |
DQL | Data query language | 数据查询语言 |
DCL | Data contral language | 数据控制语言 |
Data type
- 整型
- 字符型
DDL(Data Definition Language)
Code illustrate SHOW DATABASEs 展示当前所有数据库 SELECT DATABASE() 展示当前所处数据库 CREATE DATABASE 数据库名 创建数据库 USE 数据库名 使用数据库 DROP DATABASE 数据库名 删除数据库 For example
1
2
31、CREATE DATABASE tb_database; // 创建tb_database数据库
2、USE tb_database; // 使用tb_database数据库
3、DROP DATABASE tb_databse; // 删除tb_database数据库Code illustrate SHOW TABLES 展示当前所有表 CREATE TABLE 表名 创建表 DESC 表名 查看表的具体信息 SHOW CREATE TABLE 表名 显示创建表时的语句 ALTER TABLE 表名 ADD/MODIFY/CHANGE/DROP/RENAME TO… 对表的操作 DROP TABLE 表名 移除表 For example
1
2
3
4
5CREATE TABLE tb_my; // 创建tb_my表
DESC TABLE tb_my; // 查看tb_my表具体信息
SHOW CREATE TABLE tb_my; // 展示创建tb_my时的语句
ALTER TABLE tb_my ADD id int; // 对tb_my进行加操作
DROP TABLE tb_my; // 删除tb_my表DML(Data Manipulation Language)
Code illustrate INSERT INTO 表名 (字段名1,字段名2…) VALUES[(值1,值2…)] 为表中字段加入数据 UPDATE 表名 SET 字段1=值1, 字段2=值2 WHERE 条件 修改表中数据 DROP FROM 表名 WHERE 条件 删除满足条件数据 For example
1
2
3INSERT INTO tb (id, name) VALUES[(1, 2), (2,3)] // 为id name插入数据
UPDATE tb SET name = 1, id = 2 WHERE age < 3 // 更新age小于3的name id数据
DROP FROM tb WHERE age < 3 // 删除age小于3的数据Data Query Language
The structure of DQL
For example
- Basic
Code illustrate SELECT 字段1、字段2… FROM 表名 查询字段1、2…的数据 SELECT * FROM 表名 查询所有字段 SELECT 字段1[as 别名1], 字段2[as 别名2]… FROM 表名 设置别名 SELECT DISTINCE 字段1 from 表名 去除表字段一内重复的数据 For example
1
2SELECT id as "序号" FROM tb // 给id取别名为序号
SELECT DISTINCE id from FROM tb // 去除DISTINCT id字段的重复数据- Condition
Code illustrate SELECT 字段列表 FROM 表名 WHERE 条件 根据条件赛选字段数据 For example
1
2
3
4
5
6SELECT * FROM tab WHERE age BETWEEN 15 and 20; // 筛选年龄在15~20的数据
SELECT * FROM tab WHERE gender = "女" and age < 100; // 筛选女生年龄低于100的数据
SELECT * FROM tab WHERE age = 1 or age = 2 or age = 3; // 筛选年龄为1,2,3的数据
SELECT * FROM tab WHERE age in(1,2,3); // 筛选年龄为1,2,3的数据
SELECT * FROM tab WHERE name like "__"; // 筛选名字长度为2的数据
SELECT * FROM tab WHERE name like "%x" // 筛选名字最后为x的数据- 聚合操作
Code illustrate SELECT 聚合操作 FROM 表名 纵向操作数据 For example
1
SELECT count(*) FROM tab WHEN age<10;
Code illustrate SELECT 字段列表 FROM 表名[WHERE 条件] GROUP by 分组段名[having 条件] 分组查询数据 - WHERE 操作在分组前执行, HAVING 在分组后执行
- WHERE 无法聚合, HAVING 可以聚合
For example
1
2SELECT * FROM tab WHERE name like "__" GROUP BY gender having age < 10;
// 将名字为两个数字同时年纪小于10岁的数据根据性别划分Code illustrate SELECT 字段列表 FROM 表名 ORDER by 字段1,排序方式1,字段2… 根据排序方式排序数据 - ase 升序
- dase降序
For example
1
SELECT * FROM tab ORDER BY age ase; // 根据年龄升序排序数据
Code illustrate SELECT 字段列表 FROM tab LIMIT 起始位置 , 数量 根据索引数量查找数据 - 起始索引从0开始, 起始索引=(页码-1)* 查询数量
- 分页查询有不同的表达形式,Mysql中式LIMIT
- 查询第一页数据可以忽略起始位置,或直接写 LIMIT 10
Data Contral Language
Code illustrate USE mysql; + SELECT * FROM user; 查询用户 CREATE USER ‘用户名‘@’主机名’ IDENTITY BY ‘密码’; 创建用户 ALTER USER ‘用户名‘@’主机名’ IDENTITY with mysql_native_password BY ‘新密码’; 修改密码 DROP USER ‘用户名‘@’主机名’ 删除用户 For example
1
2
3
4
5
6CREATE USER 'u1'@'localhost' IDENTITY BY '123456';
// 创建只能访问localhost的用户u1,密码为123456
ALTER USER 'u2'@'%' IDENTYTY WITH mysql_native_password BY '123456;
// 修改可以访问全部主机的用户u2的密码'
DROP USER 'u2'@'%';
// 删除用户u2Persions
Code illustrate SHOW GRANTS FOR ‘用户名‘@’主机名’; 展示所有权限 GRANT 权限列表 ON 数据库名.表名 TO ‘用户名‘@’主机名’; 授予权限 REVOKE 权限列表 ON 数据库名.表名 FROM ‘用户名‘@’主机名’; 移除权限 - 字符型
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 风声向寂!
评论
ValineDisqus