Mysql基础

一、数据库的使用

    (1)启动、关闭Mysql  
//启动
net start mysql80
//关闭
net stop mysql80
        (2)连接mysql客户端
mysql -u root -p
        (3)基础语法

        ①注释:单行注释:在需要注释的内容前面加  --或者#    

                   多行注释:/*  内容  */

        ②MySQL语句不区分大小写

        ③SQL语句可以单行或多行书写,以分号结尾。

        (4)约束
类型描述
主键约束数据的唯一标识
唯一约束保证数据不可以重复,比如身份证号
非空约束数据不能为空
默认约束未给值时,赋给默认值
外键约束建立表与表的连接,保证数据的一致性
检查约束数据满足某一条件
        (5)数据类型        

                        ①数值类型

类型大小范围
tinyint1 byte-2^8 ~ 2^8-1
smallint2 bytes-2^16 ~ 2^16-1
mediumint3 bytes-2^24 ~ 2^24-1
int4 bytes-2^32 ~ 2^32-1
bigint8 bytes-2^64 ~ 2^64-1
float4 bytes-3.402823466 E+38 ~ 3.402823466351 E+38
double8 bytes-1.7976931348623157 E+308  ~ 1.7976931348623157 E+308
decimal依赖于M(精度)和D(标度)的值

                        ②字符串类型

类型大小描述
char0-255 bytes定长字符串
varchar0-65535 bytes变长字符串
tinyblob0-255 bytes不超过255个字符串的二进制数据
blob0-65535 bytes二进制形式的长文本数据
tinytext0-255 bytes短文本字符串
text0-65535 bytes长文本数据
mediumblob0-16777215 bytes二进制形式的中等长度文本数据
mediumtext0-16777215 bytes中等长度文本数据
longblob0-4294967295 bytes二进制形式的大文本数据
longtext0-4294967295 bytes大文本数据

                        ③时间日期类型

类型大小格式
DATE3YYYY - MM - DD
TIME3HH : MM : SS
YEAR1YYYY
DATETIME8YYYY-MM-DD  HH:MM:SS
TIMESTAMP4YYYY-MM-DD  HH:MM:SS

二、数据库的操作

        (1)数据定义语言Data Definition Language(DDL)
                ①查询所有数据库
show databases;
                ②创建数据库                
create database 数据库名;
                ③使用数据库
use 数据库名;

                 ④查询当前数据库
select database();

                 ⑤删除数据库
drop database 数据库名;
               ⑥创建表
create table 表名(
    字段  字段类型,
    字段  字段类型,
    ...   .......
);
                ⑦查询表
show tables;
                ⑧查询表结构
desc 表明;
                ⑨查询创建该表的语句
show create table 表名;
                ⑩添加字段
alter table 表名 add 字段名 类型;
               添加外键
#添加外键
alter table 表名 add constraint 外键名称 foreign kty references 主表;
#删除外键
alter table 表名 drop foreign key 外键名称;
                 eleven:修改数据类型
alter table 表名 modify 字段名 新数据类型;
                twelve:修改字段名和字段类型
alter table 表名 change 旧字段名 新字段名 类型;
                thirteen:删除字段
alter table 表名 drop 字段名;
                fourteen:修改表名
alter table 表名 rename to 新表名;
                fifteen:删除表
drop table 表名;
//删除并重新创建该表
truncate table 表名;
      (2)数据操作语言Data Manipulation Language(DML)
                ①添加数据
//给某个字段添加
insert into 表名(字段1,字段二,...) values(值1,值2,...);
//给全部字段添加
insert into 表名 values(值1,值2,...);
//批量添加
insert into 表名(字段1,字段二,...) values(值1,值2,...),(值1,值2,...),....;
insert into 表名 values(值1,值2,...),(值1,值2,...),(值1,值2,...)...;
                ②修改数据
update 表名 set 字段名=值 where....;
                ③删除数据
delete from 表名 where...;
        (3)  数据查询语言Data Query Language(DQL)
                ①常规查询
//查询所有
select * from 表名;
//根据字段查询
select 字段1,字段2...  from 表名;
//去重查询
select distinct 字段 from 表名;
                ②条件查询
select 字段 from 表名 where 条件;

        条件可以为:> , < , = , >= , <= , <> , !<

                                between....and ....    in(...)    like   is null

                例如:模糊查询    (查询带有小的名字)

                 ③聚合函数(null值不参与聚合函数的运算)

                count(统计数量),max(最大值),min(最小值),avg(平均值),sum(求和)

                例如:统计年龄小于30岁的员工

                

                  ④分组查询
select 字段  from 表名 group by 分组字段名;

                 例如:查询年龄小于40,   工作地址数量小于3的地址           

                ⑤排序查询(asc为升序,desc为降序)
select 字段 from 表名 order by 字段 排序方式;
                ⑥分页查询
select 字段 from 表名 limt 起始索引,查询条数;
                ⑦select语句的查询顺序

                from→where→group by→select→having→limit

        (4)数据控制语言(Data Control Language)

                ①创建、删除用户

//查询
use mysql;
select * from user;
//创建用户,主机名可以使用%表示任意主机
create user '用户名'@'主机名' identified by '密码';
//修改用户密码
alter user '用户名'@'主机名' identified with mysql_native_password by '新密码';
//删除用户
drop user '用户名'@'主机名';

                   ②  权限控制

//查询权限
show grants for '用户名'@'主机名';
//授予权限
grants 权限 on 数据库名.表名 to '用户名'@'主机名';
//撤销权限
revoke 权限 on 数据库名.表名 from '用户名'@'主机名';

                ③ 权限

权限描述
all所有权限
select查询权限
insert插入权限
update更新权限
dalete删除权限
alter修改表权限
drop删除权限
create创建权限

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值