mysql命令篇

mysql命令全

DDL(数据定义语言) 定义和管理数据对象,如数据库,数据表等
CREATE、DROP、ALTER
DML(数据操作语言) 用于操作数据库对象中所包含的数据
INSERT、UPDATE、DELETE
DQL (数据查询语言) 用于查询数据库数据 SELECT
DCL (数据控制语言) 用来管理数据库的语言,包括管理权限及数据更改
GRANT、COMMIT、ROLLBACK

  1. 建立数据库 create database name(库名);
创建成功标志   Query OK, 0 rows affected (0.04 sec)

不能输入中文,添加utf8方式编码:create database dbs character set utf8;

查看数据库 show databases;
选择数据库 use np;

Database changed

删除数据库 drop database name(库名);

Query OK, 4 rows affected (0.02 sec)
  1. 创建表项:
create table test(id int auto_increment primary key,
            name varchar(50) not null, 
            age int(10) unsigned not null default 18,
            sex enum('male','female') default 'male',
            createtime datetime) character set utf8;

#id为int型{默认为11},auto_increatement表明这个是自增字段,primary key表明这个是主键,与前一个参数组合使用; #name varchar(50)表明userame是可变的字符长度,not
null表明该字段不能够为空;unique 唯一,但可以为空; #UNSIGNED #无符号 ; default 默认值
#enum 映射范围 ; #createtime datetime 字段cratetime是日期时间类型的。

查看库中所有表 show tables;
查看单表结构 desc test;
show columns from test;
删除表 drop table test;

  1. 修改字段

增加字段 alter table test add age int default 0; #默认值0
修改表字段类型 alter table test modify name varchar(30); #匹配字段名称
修改表字段名称 alter table test change 原参数 新参数 int; #匹配类型值
删除字段 alter table 表名 drop 字段;

  1. 操作数据

插入数据
insert into test(id,age) values(55,“30”),(26,“44”);
#表项后添加字段参数,values可插入多条数据;需匹配表项中字段参数类型;

修改数据:
update test set 字段 = now() where 字段=值;
update test set id=666 where id=1;

删除数据:
truncate #完全清空表数据,但表结构、索引、约束等不变
delete from test where id=1; #清空某项
delete from test;可查看删除记录

  1. 查询数据
    select * from test; #查询test中所有列的数据
    select id,age from test; #查询指定列
    select * from test where … ; # where 添加条件参数
    select distinct id from test AS t group by id having … order by id desc;

distinct 去重 ;AS可省略不写,别名
列参数:
COUNT( ) 求数量
SUM( ) 求和
AVG( ) 求平均值
MAX( ) 最大的值
MIN( ) 最小的值
***判断表达式为空的函数 IFNULL(0,1)

多表连接查询:
union – 连2个不相关的表
union all: 并集操作, 包括重复行;
INNER JOIN ( JOIN ) 取2表的交集
RIGHT JOIN 取右表中所有数据,左表中匹配后的
LEFT JOIN 取左表中所有数据,右表中匹配后的

  1. where参数:
    范围in:where age IN ( 10,35,120 );
    where age between 30 and 40 ;
    逻辑: and:与 , or:或
    比较:> ; < ; = ; !=;
    空值:{ is null 和 is not null }
    select * from test where name is null(可以为空)

  2. group by 查询结果进行分组
    select username,avg(id) from test group by username;

group by 使用不了,出现sql_mode=only_full_group_by
解决方法: SET sql_mode=(SELECT REPLACE(@@sql_mode,‘ONLY_FULL_GROUP_BY’,‘’));

  1. order by 对结果进行排序
    order by id desc 是按照id递减排序(默认递增asc)
    order by id,name 增加两个排序条件,先按照id排序,id相同,会按照name排序

  2. like模糊查询
    select * from test where name like ‘张%’;
    # %表示0或多个字符,_代表一个字符

  3. LIMIT 限定结果行数,用来进行分页查询
    select * from test limit 0,2; #显示数据的开始条目+每页显示条数

SELECT version() , 100*3 #返回MySQL版本和计算结果
SELECT Name “课程名称”,Hour+10 AS “新学时” FROM * ; #可直接给表项增加参数

在这里欢迎大家的点赞、关注、评论,以此来促进大家互相学习交流,同时可以让新加入的小伙伴更快的了解新知识!!!

以上内容如有侵权,请联系作者进行删除

≧◠◡◠≦ 1分2分都是爱,感谢已经打赏的老板,和正在打赏的老板们 ≧◠◡◠≦

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TinyTuiKun

感谢各位老板们的打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值