MySQL操作语句
目录
前言
一、DDL语句(数据库定义语言)
1.数据库的操作
2.数据库表的操作
3.数据库表的修改与删除(字段)
4.删除数据库表
5.复制数据库表结构
二、DML语句(数据库操作语言)
1.添加数据
2.修改数据
3.删除数据
三、DQL语句(数据库查询语言)
1.基本查询
2.条件查询
3.聚合函数
4.分组查询
5.排序查询
6.分页查询
四、DCL语句(数据库控制语言)
1.管理用户
2.权限控制
MySQL详细笔记请转至此处
前言
SQL 语句很多很记起来很麻烦,此篇文章对SQL语句进行了分类,以后写数据库的时,可以边写边参考此文章,再也不用担心忘记SQL语句了
mysql服务的启动与停止
//启动
net start mysql【版本号】
//停止
net stop mysql[版本号]
如何操作mysql
1.客户端自带的直接连接即可
2.在命令行输入
mysql [-h ip地址] [-P 端口号] -u 用户名 -p
密码
3.使用图形界面操作
一、DDL语句(Data Definition Language)
DDL语句:数据定义语言,用来定义数据库对象(数据库,表字段)
1.数据库的操作
Ⅰ.创建数据库SQL语句:
语句: CREATE DATABASE [IF NOT EXISTS] 数据库名称 [[DEFAULT]CHARACTER set charset_name] [[DEFAULT] COLLATE collation_name];说名:database_name : 创建的数据库名。
IF NOT EXISTS : 在创建数据库前加上 一个判断,只有该数据库目前尚不存 在时才执行CREATE DATABASE操作。
(1) 如果指定CHARACTER SET charset_name和COLLATE collation_name,那么采用字符集charset_name和校对规则collation_name。
(2) 如果指定了CHARACTER SET charset_name而没有指定COLLATE collation_name,那么采用CHARACTER SET charset_name和COLLATE collation_name的默认校对规则。
(3) 如果CHARACTER SET charset_name和COLLATE collation_name都没有指定,那么采用服务器字符集和校对规则。
Ⅱ.查看数据库
显示所有数据库语句:
SHOW DATABASES;显示数据库的创建语句:
SHOW CREATE DATABASE database_name;查看当前数据库
SELECT DATABASE();Ⅲ.选择数据库
USE database_name;Ⅳ.删除数据库
DORP DATABASE dabatase_name;Ⅴ.修改数据库
若想修改数据库的编码,可以使用ALTER DATABASE语句实现,具体语法格式如下。ALTER DATABASE database_name[ DEFAULT] CHARACTER
SET character_name COLLATE collation_name;
这里database_name是要修改的数据库名;
character_name是修改的字符集的名称;
collation_name是修改的校对规则。
字符集的名称、校对规则与新建数椐库时的字符集和校对规则相同,这里就不再说明了。
2.数据表的操作
Ⅰ、查看当前数据库所有表:
SHOW TABLES;Ⅱ.查看表结构:
DESC table_name ;Ⅲ.查看当前表结构的创建语句:
SHOW CREATE TABLE table_name;Ⅲ.数据库表的创建:
CREATE TABLE [IF NOT EXISTS] table_name(
字段1 字段1类型 [COMMET 字段1注释],
col_name2 data_type2 [COMMET 字段2注释],
·
·
·
col_name n data_type n)[COMMET 表注释];
SQL语句可以多行一起写,创建时前面的写完加逗号,最后一句不加逗号。写分号表示语句结束。
3.数据表的修改与删除
1)修改表名:
ALTER TABLE old_table_name RENAME new_table_name;2)增加字段
ALTER TABLE 表名 ADD 字段名 类型(长度)[COMMENT 注释] [约束];举例:在reader中添加一个字段reader_address;
ALTER TABLE student ADD reader_address end IARCHAR(100);
3)修改数据类型
ALTER TABLE 表名 MODIFY 字段名 新数据类型(长度);4)修改字段的名和字段类型:
ALTER TABLE 表名 CHANGE 旧字段名 新字段名 数据类型(长度) [COMMENT 注释] [约束];5)修改字段的顺序
ALTER TABLE 表名 MODIFY 字段名1 数据类型(长度) FIRST|AFTER 字段名2 >将字段名1 提前|后置 字段名26)删除表中的字段:
ALTER TABLE 表名 DROP 字段名;4.删除数据库表
1)删除表
DROP TABLE [IF EXISTS] 表名;2)删除制定表,并重新创建该表
>删除表中所有结构,生成一张空表TRUNCATE TABLE 表名;
5.复制数据库表结构
复制表结构:
CREATE TABLE table_name1 LIKE db_name table_name2;说明 : 如果是复制其他数据库的表结构,在table_name2前加上数据库的名称;
例 : 将数据库db_library中的reader表结构复制到 当前数据库,命名为表结构 t_readerr;
CREATE TABLE t_reader LIKE db_library.reader;
二、DML语句(Data Manipulation Language)
DML语句: 数据操作语言,用来对数据表中的数据进行增删改
1.添加数据
1)给指定字段添加数据
INSERT INTO 表名 (字段名1,字段名2,…) VALUES (值1,值2);2)给全部字段添加数据
INSERT 表名 VALUES (值1,值2…);
3)批量段添加数据
INSERT 表名 (字段名1,字段名2,…) VALUES (值1,值2…), (值1,值2…),…;
INSERT INTO 表名 VALUES (值1,值2,…), (值1,值2,…), (值1,值2,…),
tip:
- 插入数据时,指定的字段顺序需要与值的顺序是一一对应的。
- 字符串和日期型数据应该包含在引号中。
- 插入的数据大小,应该在字段的规定范围内。
2.修改数据
UPDATE 表名 SET 字段名1 = 值1,字段名2=值2,…[WHERE 条件];
tip:修改语句的条件可以有,也可以没有,如果没有条件,则会修改整张表的所有数据
3.删除数据
DELETE FROM 表名 [WHARE 条件]
tip:
- DELETE语句的条件可有可无,若无,则会删除整张表的所有数据。
- DELETE语句不能删除某一个字段的值(可以使用update改为none)。
三、DQL语句(Data Query Language)
DQL语句:数据查询语言,用来查询数据库中的记录
SELECT
字段列表
FROM
表名列表
WHARE
条件列表
GROUP BY
分组字段列表
HAVING
分组后条件列表
ORDER BY
排序字段列表
LIMIT
分页参数
1.基本查询
1)查询多个字段
SELETC 字段1,字段2,字段3… FORM 表名;
SELECT * FROM 表名;
2)设置别名
SELECT 字段 [[AS] 别名1],字段2[[AS] 别名2] … FROM 表名;
3)去除重复记录
SELECT DISTNCT 字段列表 FROM 表名2.条件查询
1)语法
SELECT 字段列表 FROM 表名 WHARE 条件列表2)条件
3.聚合函数
1)介绍
将一列数据作为一个整体,进行纵向计算。
2)常见聚合函数
3)语法
SELECT 聚合函数(字段列表) FROM 表名;
4.分组查询
1) 语法
SELETC 字段列表 FROM 表名 [WHERE 条件] GROUP BY 分组字段名 [HAVING 分组后过滤条件];
2) where和havin的区别
执行时机不同:where是分组之前进行过滤,不满足where条件,不参与分组;而having是分组之后对结果进行过滤。
判断条件不同:where不能对聚合函数进行判断,而having可以。
tip:
- 执行顺序:where>聚合函数>having
- 分组之后,查询的字段一般为聚合函数和分组字段,查询其他字段无任何意义.
5.排序查询
1)语法
SELECT 字段列表 FROM 表名 ORDER BY 字段1 排序方式1,字段2 排序方式2;
2)排序方式
ASC:升序(默认值)
DESC: 降序升序可省略
注意:如果是多字段排序,当第一个字段值相同时,才会根据第二个字段进行排序。
6.分页查询
1)语法
SELECT 字段列表 FROM LIMIT 起始索引,查询记录数;
注意
- 起始索引从0开始,起始索引=(查询页码-1)*每页显示的记录数。
- 分页查询是数据库的方言,不同的数据库有不同的实现,MySQL中是LIMIT。(不同的数据库不同的方法)
- 如果查询的是第一页,起始索引可以省略,直接简写为LIMIT10。
四、DCL语句(Data Control Language)
DCL语句:用来管理数据库用户、控制数据库的访问权限。
1.管理用户
1)查询用户
USE mysql;
SELCET*FROM user;
2)创建用户
CREAT USER '用户名‘@‘主机名’ IDENTIFIED WITH BY ‘密码’;
3)修改用户密码
ALTER USER '用户名‘@‘主机名’ IDENTIFIED mysql_nativate_password BY ‘密码’;
4)删除用户
DROP USER ‘用户名’@‘主机名’;
注意:
- 主机名可以使用%通配(任意主机可连接)
- 这类SQL开发人员操作的比较少,主要是DBA(Database Administrator 数据库管理员)使用。
2.权限控制
具体说明请查询官方文档
1)查询权限
SHOE GRANTS FOR ‘用户名’@‘主机名’;
2)授予权限
GRANT 权限列表 ON 数据库名.表名 TO ‘用户名’@‘主机名’;
3)撤销权限
REVOKE 权限列表 ON 数据库名.表名 FROM ‘用户名’@‘主机名’;
注意:
- 多个权限之间,使用逗号分隔
- 授权时,数据库名和表可以使用 * 进行通配代表所有。