msyq>\h:查看帮助信息 一、\h 或 help 或 ? 二、\G:分组显示结果 三、\T 或 tee:将结果和命令输出到文本 四、\c 或 CTRL+c:清除当前语句 五、\s 或 status:获取MySQL服务器状态信息 六、\. 或 source:执行外部SQL脚本:二进制日志截取、备份出来的SQL脚本 七、\u 或use:切换数据库
DDL:数据库(对象)定义语言 DCL:数据库控制语言(grant revoke) DML:数据(行)操做语言(update delete insert) DQL: 数据查询语言(show、select)
查看数据库mysql
mysql> show databases; mysql> show databases like 'test%'; #==>模糊查询,以test开头的数据库
建立数据库sql
mysql> create database oldboy;
查看建库的语句数据库
show create database oldboy\G
指定字符集建库服务器
mysql>create database llf CHARACTER SET utf8 ; mysql>show create database llf;
查看帮助函数
mysql>help create database;
删除数据库ui
mysql> drop database llf;
改变库的字符集日志
mysql> alter database oldboy charset utf8mb4; mysql> show create database oldboy;
切库code
user oldboy
查看当前所在的库对象
select database();
查看当前的用户排序
select user();
查看库里的表
show tables;
DDL&&DCL语句之管理用户
用户: ‘user’@‘主机域’ 帮助: ? Account Management 经常使用命令: 1.查看当前用户 2.建立用户 3.查看用户对应的权限 4.删除用户 5.给用户受权 6.收回权限 7.工做博客受权
建立表
create table <表名> (<字段名1> <类型1> ,…<字段名n> <类型n>); mysql> create table t1(id int,name varchar(20)); 获取帮助 help create table;
查询表
mysql> show tables;
查看建表语句
mysql> show create table t1\G
查看表结构
mysql> desc t1;
删除表
mysql> drop table t1;
修改表
在表中添加一列 mysql> alter table t1 add age int; 添加多列 mysql> alter table t1 add sid int,add bridate datetime; 在指定列后添加一列 mysql> alter table t1 add i_name varchar(20) after name; 在表中最前添加一列 mysql> alter table t1 add num int first; 删除列 mysql> alter table t1 drop num; 修改列名 mysql> alter table t1 change name stu_name varchar(20); 修改列属性 mysql> alter table t1 modify sid varchar(20); 修改表名 mysql> rename table t1 to t2; mysql> alter table t2 rename to t1;
插入内容(insert)
insert into <表名> [( <字段名1>[,..<字段名n > ])] values ( 值1 )[, ( 值n )] mysql> insert into t2 values(1,'zhang'); 添加多行内容 mysql> insert into t2 values(2,'yang'),(3,'li'),(4,'yi'); 经过列名添加内容 mysql> insert into t2(name) values("zhangggg");
查询表内容
mysql> select * from t2;
更新表(update)
mysql> update t2 set name='zhang123' where id=4;
删除表内容
mysql> delete from t2 where id=4; 删除表中全部行,比较危险。一行一行删除表中数据。 mysql> delete from t2; 在物理上删除表数据,速度比较快。 mysql> truncate table t1;
select基本查询
SELECT * FROM city; SELECT NAME,Population FROM city;
select条件查询where
SELECT *|{[DISTINCT] column|select_expr[alias], ...]}[FROM [database.]table][WHERE conditions]; WHERE条件又叫作过滤条件,它从FROM子句的中间结果中去掉全部条件conditions不为TRUE(而为FALSE或者NULL)的行 WHERE子句跟在FROM子句后面 不能在WHERE子句中使用列别名
where字句的基本使用
一、查询中国(CHN)全部的城市信息 SELECT * FROM world.`city` WHERE CountryCode='CHN'; or SELECT * FROM world.`city` WHERE CountryCode='chn'; 二、查询中国(CHN)安徽省全部的城市信息。 SELECT * FROM city WHERE CountryCode="CHN" AND District="anhui"; 三、查询世界上人口数量在10w-20w城市信息 SELECT * FROM city WHERE Population BETWEEN 100000 AND 200000; 四、中国或者日本的全部城市信息 SELECT * FROM city WHERE CountryCode IN ('chn',"jpn"); 注意: WHERE中出现的字符串和日期字面量必须使用引号括起来 这里,字符串字面量写成大写或小写结果都同样,即不区分大小写进行查询。 这和ORACLE不一样,ORACLE中WHERE条件中的字面量是区分大小写的
模糊查询
SELECT * FROM city WHERE CountryCode LIKE 'ch%';
select 排序与限制
ORDER BY子句用来排序行 Asc:执行升序排序。默认值 DEsc:执行降序排序 ORDER BY子句通常在SELECT语句的最后面 LIMIT子句: MySQL特有的子句。 它是SELECT语句中的最后一个子句(在order by后面)。 它用来表示从结果集中选取最前面或最后面的几行。 偏移量offset的最小值为0。 语法: limit <获取的行数> [OFFSET <跳过的行数>] 或者limit [<跳过的行数>,] <获取的行数> SELECT * FROM city ORDER BY 按照人口数量排序输出中国的城市信息(ASC\DESC) SELECT * FROM city WHERE CountryCode="CHN" ORDER BY Population DESC;(从大到小) SELECT * FROM world.`city` WHERE countrycode='CHN' ORDER BY id DESC ; 按照列数来进行排序 SELECT * FROM city ORDER BY 5 DESC ; 取第1-10行 SELECT * FROM world.`city` WHERE countrycode='CHN' ORDER BY 5 DESC LIMIT 20; 取第11-20行 SELECT * FROM world.`city` WHERE countrycode='CHN' ORDER BY 5 DESC LIMIT 10,10 ; SELECT * FROM world.`city` WHERE countrycode='CHN' ORDER BY 5 DESC LIMIT 10 OFFSET 10 ;
传统的链接写法(使用where) ---- 中国全部城市信息+使用语言 SELECT ci.name,ci.countrycode,ci.Population,cl.language FROM city AS ci,countrylanguage AS cl WHERE ci.countrycode="chn" AND cl.countrycode="chn";
经常使用链接写法(join on )
查询青岛这个城市,所在的国家具体叫什么名字 SELECT ci.`Name`,ci.`CountryCode`,ci.`Population`,cl.name FROM city AS ci JOIN country AS cl ON ci.`CountryCode`=cl.code AND ci.name="qingdao"、
group by +聚合函数(avg()、max()、min()、sum())
算出中国人口总数 SELECT CountryCode,SUM(Population) FROM city WHERE CountryCode="chn" ORDER BY CountryCode