SQL语言

一、DDL数据库定义语言

1、登录mySQL

mysql -u"用户名" -p"密码" -h"登录地址

-h:默认为本机

示例:

2、查看当前存在的数据库

show databases;

示例:

3、创建数据库database

create database 数据库名称;

创建数据库db01

示例:

4、删除数据库database

drop database 数据库名称;

删除数据库db01

示例:

5、使用数据库

在数据库中创建/修改数据表时,需先使用数据库

use 数据库名称

使用数据库db01

示例:

二、DML数据库操作语言

数据表结构

一列为一个字段,一行为一条记录

1、查看当前数据库下存在的数据表

use 数据库名;

show tables;

示例:

新创建的数据库中未存在数据表

2、创建数据表

create table 数据表名称 (字段01 数据类型 约束,字段02 数据类型 约束...);

在数据库中创建数据表时,需要先使用数据库,但也可以用数据库.数据表的方式调用数据表

在数据库db01下创建数据表tab01

示例:

3、查询数据表结构

desc 数据表名称;

查询数据表tab01的结构

示例:

4、删除数据表

drop table 数据表名称;

删除数据表tab01

示例:

5、向数据表中插入数据

1、插入一条数据记录

insert into 数据表名称 values (数据01,数据02..);

向数据表插入数据记录时,数据记录中的数据需与数据表的字段一一对应,并且数据类型相同

向数据表tab01中插入一条数据记录

示例:

2、插入多条数据记录

也可以一次向数据表中插入多条数据记录,不同数据记录之间用逗号隔开

示例:

3、只向数据表的部分字段插入数据

insert into 数据表名称(字段01,字段02,...) values (数据01,数据02,...);

插入的数据也需和字段一一对应

示例:

只向部分字段插入数据时,本条数据记录,其余未插入数据的字段为NULL值

也可以向部分字段一次插入多条数据

示例:

6、删除数据表中的数据记录

delet from 表名 where 字段=数值01;

删除数据表tab01中字段name为张三的数据记录

示例:

7、修改数据表的结构

1、向数据表插入一个新字段

在数据表的末尾插入一个新字段

alter table 表名 add 字段 数据类型 约束;

向表tab01中插入height字段,数据类型为int

示例:

在数据表的开头插入一个字段,在末尾加上first即可

示例:

2、删除数据表中的一个字段

alter table 表名 drop 字段;

删除数据表tab01中的height字段

示例:

3、修改数据表中某个字段的数据类型

alter table 表名 modify 字段 数据类型;

修改数据表tab01中的id字段数据类型为varchar

示例:

4、修改字段名和字段数据类型

alter table 表名 change 字段名 新字段名 数据类型;

新数据类型可以和字段原数据类型相同

修改数据表tab01字段id的名字为id_number,数据类型为int

示例:

5、alter修改用户密码

alter user "用户名"@"登录主机" identified by "新密码";

或者还可以使用mysqladmin命令修改用户密码

三、DQL数据库查询语言

1、查询数据表中的所有数据记录

select * from 数据表名;

查询数据表tab01中的所有数据记录

示例:

2、只查询数据表中部分字段的数据记录

select 字段01,字段02,... from 数据表名;

查询数据表tab01中的name和age字段的数据记录

示例:

3、将数据记录按照某个字段进行降序排列输出

select * from 数据表名 order by 字段 desc;

将tab01的数据记录按照age字段进行降序输出

示例:

4、将数据记录按照某个字段进行升序排列输出

select * from 数据表名 order by 字段 asc;

将tab01的数据记录按照age字段进行升序输出

示例:

++条件查询++

5、查询字段数据在规定的取值范围内的数据记录

select * from 数据表名 where 字段 between 数值01 and 数值02;

查询字段age中数据在20--30范围内的数据记录

示例:

6、查询满足 字段01数据=数据01 并且 字段02数据=数据02 的数据记录

select * from 数据表名 where 字段01=数据01 AND 字段02=数据02;

查询 字段name=张三,并且 字段age=23 的数据记录

示例:

7、查询满足 字段01数据=数值01 或者 字段02数据=数据02 的数据记录

select * from 数据表名 where 字段01=数据01 OR 字段02=数据02;

查询 字段name=李四 或者 字段age=23 的数据记录

示例:

8、查询字段数据在规定的数值中的数据

select * from 数据表名 where 字段 in (数据1,数据2,...);

查询字段age的数值为21,23,24的数据记录

示例:

相比与between and, in 的数值范围更加精确

9、查询字段数据为NULL值的数据记录

select * from 数据表名 where 字段 is NULL;

查询字段mail中数据为NULL值的数据记录

示例:

四、DCL数据库控制语言

1、创建用户

create user "用户名"@"登录主机" identified by "密码";

创建本地用户user01,密码为MySQL@123

示例:

登录主机可以为本地也可以为其他远程服务器的IP地址

mysql的用户信息存放在数据库mysql的数据表user中,可以使用select查询用户信息

2、赋予用户权限

grant 权限(字段01,字段02) on 数据库.数据表 to "用户名"@"登录主机";

权限:

all:所有操作权限

create,创建权限

drop,删除权限

select,查询数据权限

insert,插入数据权限

update,更新数据权限

delete,删除数据权限 等....

数据库.数据表

示例:

*.*,对所有库、表、字段都有操作权限

mysql.*,只对mysql库及库中的表有操作权限

mysql.user,只对mysql库中的user表有操作权限

给用户user01赋予数据库db01中tab01表的所有权限

示例:

show grants for "用户名"@"登录主机"\G; 查看用户的所有权限

3、收回用户的权限

revoke 权限 on 数据库.数据表 from "用户名"@"登录主机";

收回用户user01对tab01表的所有权限

示例:

4、删除用户

drop user "用户名"@"登录主机";

删除本地用户user01

示例:

相关推荐
Acrelhuang8 分钟前
安科瑞5G基站直流叠光监控系统-安科瑞黄安南
大数据·数据库·数据仓库·物联网
十叶知秋1 小时前
【jmeter】jmeter的线程组功能的详细介绍
数据库·jmeter·性能测试
瓜牛_gn2 小时前
mysql特性
数据库·mysql
奶糖趣多多3 小时前
Redis知识点
数据库·redis·缓存
CoderIsArt5 小时前
Redis的三种模式:主从模式,哨兵与集群模式
数据库·redis·缓存
师太,答应老衲吧7 小时前
SQL实战训练之,力扣:2020. 无流量的帐户数(递归)
数据库·sql·leetcode
Yaml47 小时前
Spring Boot 与 Vue 共筑二手书籍交易卓越平台
java·spring boot·后端·mysql·spring·vue·二手书籍
Channing Lewis8 小时前
salesforce case可以新建一个roll up 字段,统计出这个case下的email数量吗
数据库·salesforce
追风林8 小时前
mac 本地docker-mysql主从复制部署
mysql·macos·docker
毕业设计制作和分享9 小时前
ssm《数据库系统原理》课程平台的设计与实现+vue
前端·数据库·vue.js·oracle·mybatis