mysql基本命令

常用数据类型

double(5,2) 表示最多5位,其中必须有两位小数,即最大值999.99

int(10) 若不够10位就在数字前面用0来填充 0000000099

char 固定长度字符串类型: char(10) ‘abc七个空格’

varchar 可变长度字符串类型 varchar(10) ‘abc’

text 字符串类型

blob 二进制类型 经常用于把视频音频转化为二进制储存

date 日期类型 格式为:yyyy-MM-dd

time 时间类型 格式为:hh:mm:ss

datetime 日期和时间类型 yyyy-MM-dd hh:mm:ss

在mysql中 字符串类型 和 日期类型 都要用单引号括起来。

DDL——对表的结构进行操作

  • 进入mysql
mysql -u root -p
密码
  • 创建数据库
create database 数据库名 character set utf8;  
                  PS:不要写成utf-8 一定要加分号
  • 查看我所拥有的所有数据库
show databases;
            PS:database要加s
  • 使用数据库:
use 数据库名;
  • 创建表table:1.先进入某一个数据库database(use 数据库名)

2.输入创建表的命令:

create table 表名(列名 列的类型 [约束]);
create table students(id int, name varchar(25), age int, email varchar(255));
  • 给表添加一列:
alter table 表名 add 列名 数据类型;
alter table students add score int;
  • 删除一列
alter table 表名 drop 列名;
alter table students drop score;
  • 查看表的样式(查看表的字段信息)
desc 表名;
desc students;
  • 修改一个表的字段类型
alter table 表名 modify 字段名 数据类型;
alter table students modify id bigint;
  • 修改表名
rename table 原始表名 to 要修改的表名;
rename table emplyee to employee;
  • 查看表的创建细节
show create table 表名;
show create table students;   
  • 修改表的字符集为gbk
alter table 表名 character set 字符集名称;
alter table students character set bgk;
  • 修改表的列名
alter table 表名 change 原始列名 新列名 数据类型;
alter table students change id newid int;
  • 删除表
drop table 表名;
drop table students;
  • 修改数据库
alter database 数据库名 charactor set gbk;

DML——对表中数据进行增删改查

  • 查询表的内容
select * from 表名;
select * from students;
insert into 表名(列名1,列名2) values(列值1,列值2)
insert into students(id, name, age, email, score) value(2, 'zs', 18, 'abc', 20)
, (4, 'ww', 20, '123 @qq.com', 90);
update students set score=90;把所有写生的分数改为90
update students set score=60 where name='zs';把张三的分数改为六十;
update students set age=30,score=60 where name='ls';
update students set age=age+1 where name='ww';把王五的年龄在原来基础上加一岁;

修改数据库密码为123456

function 1:要先进入mysql
update mysql.user set authentication_string=password('123456') whrer user='root' and Host = 'localhost';
flush privileges; 刷新mysql的系统权限相关表


function 2:要在cmd里面
mysqladmin -u root -p password 123456
//delete删除表中的数据 表结构还在 删除后的数据可以找回
delete from students where name='ww'; 
delete from students; 删除所有数据

//truncate删除是把表直接drop掉,然后再创建一个同样的新表。删除的数据不能找回。执行速度比delete快
truncate table students;

DQL——负责查询

  • 查询所有数据
select * from students;

通过查询语句查询出来的数据以表的形式展示,我们称这个表为虚拟结果集 存放在内存中 查询返回的结果集是一张虚拟表

  • 查询指定的列
select name,age from students;
  • 条件查询where

条件查询就是在查询时给出where子句 在where中可以使用一些运算符及关键字

=(等于
) !=(不等于
) <>(不等于
) <(小于
) <=(小于等于) >(大于) >=(大于等于)
between...and; 值在什么范围
in(set); 固定的范围值
is null; (为空
)  is not null(不为空
)
and; 与
or; 或
not; 非

for emamples

查询性别为男,并且年龄为20的学生记录

select * from students where gender='男' and age=20;

查询学号为1001 或者 名字为zs的记录

select * from students where id=1001 or name='zs';

查询学号为1001 1002 1003的记录

select * from students where id=1001 or id=1002 or id=1003;
select * from students where id=in(1001,1002,1003);

查询年龄为null的记录

select * from students where age is null;

查询年龄在18到20之间的学生记录

select * from students where age>=18 and age<=20;
select * from students where age between 18 and 20;

查询性别非男的学生记录

select * from students where gender !='男';

查询姓名不为null的学生记录

select * from students where name is not null;
  • 模糊查询

根据指定关键字进行查询

使用like关键字后跟通配符

通配符

_ : 任意一个字母

%: 任意0~n个字母

for example:

查询姓名由5哥字母构成

select * from students where name like '_____';
//五个下划线
select name from students where name like '_____';
//写*的话会把满足条件的所有信息都打印出来 name就只打印满足条件的name
//汉字的话 一个汉字一个下划线

查询姓名由5哥字母构成 并且第五个字母为s的学生记录

select * from students where name like '____s';
//四个下划线一个m

查询姓名以m开头的学生记录

select * from students where name like 'm%';
//%代表0到多个字符 就是m后面有多少个字符都可以

查询姓名中第二个字母为u的学生记录

select * from students where name like '_u%'; 

查询姓名中包含s字母的学生记录

select * from students where name like '%s%';
  • 字段查询控制

去除重复记录 distinct

select distinct name from students;

把查询字段的结果进行运算 必须都要是数字型

select *,age+score from students;
//会多出来一列 列名是age+score


select *,ifnull(age,0)+ifnull(score,0) from students;
//如果age为null的话当作0处理

//新列名太难看 修改列名
As 记作total
select *,age+score as total from students;

    原文作者:焦龙
    原文地址: https://zhuanlan.zhihu.com/p/46569983
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞