mysql四⼤数据库语句_mysql数据库配置及四⼤语句命令最近在学习mysql数据库的基础知识,看的是⿊马的javaweb的⽹课,关于mysql的基本命令⽐较多,在这⾥记录下来,便于⽇后学习查询翻阅。
参考:
⽂章⽬录
前⾔
⼀. mysql的配置
1.1MySQL服务启动
1.2MySQL登录
1.3MySQL退出
⼆. sql常⽤命令
2.1sql语句分类
2.2DDL(操作数据库、表)
2.21 **操作数据库:增,删,改,查,⽤**
2.22 **操作表:增,删,改,查**
2.3DML(表中数据,增删改)
2.3.1增:
2.3.2删:
2.3.3改:
2.4DQL(查询表中数据)
2.4.1基础查询
2.4.2条件查询
2.4.3排序:
2.4.4聚合函数:
2.4.5分组查询:
2.4.6分页查询基本的增删改查语句
2.5.DCL(管理⽤户,授权)
2.5.1管理⽤户
2.5.2授权
前⾔
我们常说的SQL,其英⽂全称为Structured Query Language(结构化查询语⾔),同编程语⾔⼀样,它定义操作所有关系型数据库的规则。换句话说,关系型数据库使⽤SQL语⾔作为其查询语⾔,但是不同的关系型数据库的SQL语法有些不同之处,如同中国各地的⽅⾔有很多种,但总的来说都是中⽂。
⽐较流⾏的数据库如下图:
mysql是关系型数据库的⼀种,我学习的是mysql。这⾥要知道,在mysql官⽹sql下载的是mysql数据库服务器,安装之后要通过dos界⾯对数据库进⾏操作。除此之外还可以安装⼀个图形化的界⾯sqlyog来进⾏操作,就类似编程语⾔的IDE⼀样。
另外,在接触mysql基本命令之前,可以先看看mysql安装⽬录的结构,对其有⼀个⼤致认识。这⾥提⼀下数据库:⽂件夹;表:⽂件;数据:数据。表
⼀. mysql的配置
1.1MySQL服务启动
安装mysql后,⼀般来说在电脑中mysql的服务都是⾃动启动的。除此之外,也可以通过⼀下三种⽅式启动:(这⼀步仅理解就可以,⼀般在学习的时候⽤不着,服务都是⼀直开着的)
1.⼿动
2. cmd–> services.msc 打开服务的窗⼝
3. 使⽤管理员打开cmd
net start mysql : 启动mysql的服务
net stop mysql:关闭mysql服务
1.2MySQL登录
mysql -u⽤户名 -p密码 (密码可见)
mysql -hip -uroot -p (回车)输⼊密码 (密码不可见)
mysql --host=ip --user=root --password=连接⽬标的密码
1.3MySQL退出
exit
quit
⼆. sql常⽤命令
2.1sql语句分类
DDL(Data Definition Language)数据定义语⾔:故名思意,是对逻辑结构进⾏相关操作,其对象为:数据库,表,列等。关键字为:create,drop,alter等。
DML(Data Manipulation Language)数据操作语⾔:同理,是对数据库的表中的数据的增删改操作。关键字:insert, delete, update 等。
DQL(Data Query Language)数据查询语⾔:⽤来查询数据库中表的记录(数据)。关键字:select, where 等。
DCL(Data Control Language)数据控制语⾔(了解):⽤来定义数据库的访问权限和安全级别,及创建⽤户。关键字:GRANT, REVOKE 等。
2.2DDL(操作数据库、表)
2.21 操作数据库:增,删,改,查,⽤
增:
create database 数据库名称;
create database if not exists 数据库名称;
create database 数据库名称 character set 字符集名。
删:
drop database 数据库名称;
drop database if exists 数据库名称;
改:
alter database 数据库名称 character set 字符集名称
仅修改名称:
查:
show databases;//查所有的数据库
show create database 数据库名称;//查某个数据库的字符集等。
⽤:
use 数据库名称;//使⽤数据库
select database();//查询当前正在使⽤的数据库名称,这条⽐较特殊。
2.22 操作表:增,删,改,查
增:
create table 表名(列名1 数据类型1,…,列名n 数据类型n);
数据类型:
create table 表名 like 被复制的表名;//复制表
删:
drop table 表名;
drop table if exists 表名 ;
改:
alter table 表名 rename to 新的表名;
alter table 表名 character set 字符集名称;
alter table 表名 add 列名 数据类型;//添加⼀列
alter table 表名 change 列名 新列别 新数据类型;
alter table 表名 modify 列名 新数据类型;
alter table 表名 drop 列名;
查:(注意这⾥不是查询表中的记录,对⽐2.4节)
show tables;//查询某数据库所有表名称。
desc 表名;//查询表结构
2.3DML(表中数据,增删改)
2.3.1增:
insert into 表名(列名1,列名2,…列名n) values(值1,值2,…值n);//注意⼀⼀对应
2.3.2删:
delete from 表名 [where 条件]
如果不加条件,则删除表中所有记录。想要删除所有记录,推荐使⽤ TRUNCATE TABLE 表名。效率更⾼ 先删除表,然后再创建⼀张⼀样的表。
2.3.3改:
update 表名 set 列名1 = 值1, 列名2 = 值2,… [where 条件];
2.4DQL(查询表中数据)
select * from 表名;     //这⾥才是查询表中数据。
语法结构如下:
2.4.1基础查询
select 字段名1,字段名2… from 表名;//查询所有字段,可以使⽤*来替代字段列表。
select distinct 字段 from 表名 //去除重复的结果集
计算列 :SELECT name ,math,english,math+english FROM person;
as:可省略
2.4.2条件查询
where 条件;运算符:
>  =  <=
BETWEEN…AND //在…之间
IN( 集合)
LIKE:模糊查询。_:单个任意字符。%:多个任意字符。
and 或 &&  or 或 ||   not 或 !
IS NULL
2.4.3排序:
order by
select * from 表名 order by 排序字段1 排序⽅式1,…, 排序字段n 排序⽅式n;   //排序查询,ASC:升序默认,DESC:降序。前⾯的条件优先。
2.4.4聚合函数:
以列为整体 ,进⾏相关计算。常⽤的有:count,max,min,sum,avg。
select count(列名) from 表名;排除null值
select count(ifnull(列名,替换表达式)) from 表名;不排除null值。
2.4.5分组查询:
group by 分组字段和聚合函数。
SELECT sex ,AVG(math),COUNT(id) FROM person GROUP BY sex;
想要加⼊分组限制条件,即不满⾜条件的不参加分组的话:
SELECT sex ,AVG(math),COUNT(id) FROM person WHERE math>30 GROUP BY sex HAVING COUNT(id)>2;