Mysql基础知识

37 阅读3分钟
  • 数据定义语言(Data Definition Language) DDL--用来定义数据库对象:数据库,表,列……
  • 数据操作语言(Data Manipulation Language) DML--用来对数据库中表的记录进行更新。
  • 数据查询语言(Data Query Language) DQL--用来查询数据库中表的记录。
  • 数据控制语言(Data Control Language) DCL

DDL:

1.创建数据库

create database 数据库名; 
create database 数据库名 character set 字符集; //字符集一般为uft-8,第二个语句是创建数据的同时并设置了字符集。

2.查看数据库

use 数据库名;   //切换数据库
show databases;  //查看MySQL中都有哪些数据库
select database();   //查看当前正在使用的数据库
show create database 数据库名;  //查看一个数据库的定义信息

3.修改数据库字符集

alter database 数据库名 character set 字符集;

4.删除数据库

drop database 数据库名;

5.创建表

CREATE TABLE 表名(
	字段名称1  字段类型(长度),
	字段名称2  字段类型(长度)
	//注意:最后一个字段名称末尾不加,
);
/*常用的数据类型
  int  整型  double 浮点型  varchar 字符串 
  data 	日期类型,yyyy-MM-dd  年-月-日
  注意: char也表示字符串,但是跟varchar是有区别的
  char和varchar区别:
   	 char类型是固定长度的,varchar是根据输入字符分配合适的空间,一般情况下用varchar
 */

6.查看表

show tables;   //查看当前数据库所有的表
desc 表名;  //查看表的结构

7.修改表

rename table 旧表名 to 新表名;  // 修改表名
alter table 表名 character set 字符集;  //修改字符集
alert table 表名 add 字段名称 字段类型;  //向表中添加字段
alter table 表名 drop 字段名;  //删除字段

8.删除表

drop 表名 if exists 表名; //删除该表   

DML:

1.插入数据

insert into 表名 (字段名1,字段名2...) values(字段值1,字段值2...);

2.更改数据

update 表名 set 列名 = 值 [where 字段名 = 值];

3.删除数据

delete from 表名 [where 字段名 = 值];
    

DQL:

1.简单查询

select 列名 from 表名; //列名可以用*号代替表示查询所有字段

2.条件查询

select 列名 from 表名 where 条件表达式;
//  %表示任意多个字符串,  _表示匹配一个字符,
    3.排序
SELECT 字段名 FROM 表名 [WHERE 字段 = 值] ORDER BY 字段名 [ASC / DESC];
// ASC 表示升序排序(默认),DESC表示降序排序
    

4.聚合函数

/*常用聚合函数
* count(字段) 统计指定列不为NULL的记录行数
* sum(字段)  计算指定列的数值和
* max(字段)  计算指定列的最大值
* min(字段)  计算指定列的最小值
* avg(字段)  计算指定列的平均值
*/
SELECT 聚合函数(字段名) FROM 表名;

5.分组

SELECT 分组字段/聚合函数 FROM 表名 GROUP BY 分组字段 [HAVING 条件];

6.limit关键字

SELECT 字段1,字段2... FROM 表名 LIMIT offset , length;
// offset  起始行数, 从0开始记数, 如果省略 则默认为 0.
// length 返回的行数
                   

DCL

1.创建用户

CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码';

2.给用户授权

GRANT 权限 1, 权限 2... ON 数据库名.表名 TO '用户名'@'主机名';

3.查看权限

SHOW GRANTS FOR '用户名'@'主机名';

4.删除用户

DROP USER '用户名'@'主机名';

5.查询用户

SELECT * FROM USER;