一文入门mysql 数据库

一、对数据库的操作

1.展示所有的数据库

show databases;

2.创建数据库

create database 数据库名 charset = utf8;

3.删除数据库

drop database 数据库名;

4.查看当前使用的数据库

select database();

5.使用数据库

use 数据库名;

二、对数据表的操作

1.展示所有表

show tables;

2.创建表

create table 表名(列名  类型  约束1  约束2......,列名  类型  约束1  约束2......);

3.查看表结构

desc 表名;

4.删除数据表

drop table 表名;

5.修改表

(1)删除列

alter table 表名 drop 列名;

(2)添加列

alter table 表名 add 列名 类型 约束1;

(3)修改列

alter table 表名 change 原列名 新列名 类型 约束;

约束

1.主键:primary key

2.外键:foreign key

3.非空:not null

4.自增长:auto_increment

5.默认:default

6.检查:check()

7.唯一:unique

三、对数据的操作

1.增加数据

(1)insert into 表名 values(值1,值2...值n),(值1,值2...值n)  ...  注:列的个数与值的个数相等

(2)insert into 表名(列1,列2)  values(值1,值2), values(值1,值2)....  注:可以指定添加列的数据

(3)insert into 表名 set 列1=值1,列2=值2 ... 注:只能插入一条数据

2.删除数据

(1)删除所有数据

delete from 表名;

(2)删除满足条件的数据

delete from 表名 where 条件;

3.修改数据

(1)修改所有数据

update 表名 set 列1 = 值1

(2)修改满足条件的数据

update 表名 set 列1 = 值1 where 条件;

4.查找数据

(1)查找表的所有列的所有数据

select * from 表名;

(2)查找表指定列的数据

select 列1,列2... from 表名;

(3)查找表指定列的数据并给列名进行重命名

select 列1 as 别名,列2 as 别名... from 表名;

(4)条件查询

<1>比较运算符

例:select * from student where id >2;

<2>逻辑运算符

例:select * from student where id = 1 or id id = 3;

<3>判空

例:select * from student where  hobbies is null;

<4>in

例:select * from student where  id in (2,4);

<5>between and

例:select * from student where id between 2 and 4

<6> like

%  是多个字符,- 是单个字符

例:select * from student where sname like "李%"

(5)关联查询

<1>嵌套查询

第一次查询的结果作为第二次查询的条件

例如:查询学生表中id 为1 的学生的成绩

select sname,score from sc  where sid = 1 and sname in(select sname from student where id = 1);

<2>表连接

笛卡尔连接

一个表中每一行都和另一个表中所有行连接

例:查询学生的成绩

select * from student,sc where student.id = sc.id;

内连接(inner join)

select student.id ,sname,score from student inner join role on student.id = sc.sid;

外连接

左外连接(以左表为主,左表条件满足 正常显示,不满足右侧补null)

select * from student left join sc on student.id = sc.sid;

右外连接(以右表为主,右表条件满足 正常显示,不满足左侧补null)

select * from sc right join student on student.id = sc.sid;

全连接(left join union right join)

select * from sc left join student on student.id = sc.sid  union  select * from sc right join student on student.id = sc.sid;

数据去重(distinct)

单独列展示,并对列去重

例:select distinct sid from sc;

数据分组(group by)

例:select score count(*) from sc group by score;

数据排序(order by asc/desc)

asc:升序

desc:降序

例:select * from sc order by score desc;

数据分页(limit)

一个数字n 代表前n个

两个数字代表开始结束

每页显示count个第n页公式:(n-1)* count,count;

四、对用户的操作

1.创建用户

create user '用户名'@'%' identified by '123456';

2.分配权限

grant 权限列举 on  数据名.表名 to ‘用户名’@‘%’;

all 所有权限

*.* 所有数据库中的所有表

3.刷新权限

 flush privileges;

4.删除用户

drop user  '用户名'@'%';

5.修改密码

alter user ‘用户名’@‘%’  identified by ‘123456’;

五、对外建的操作

1. 添加外键

constraint  外键名 foreign key   (列名)  references  表 (列)on update  cascade  on 
 delete   cascade;

2.删除外键

alter table 表名 drop foreign key 外键名;

函数

1.查看当前数据库

select database();

2.查看当前用户

select  user();

3.查看版本

select version();

4.现在时间

select now();

5.当前日期

select curdate();

6.当前时间

select curtime();

7.时间戳

select unix_timestamp()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值