mysql数据库——基础

SQL语言分为4个部分:
DDL(定义)、DML(操作)、DQL(查询)、DCL(控制)
SQL语句中的快捷键:
\G格式换输出(文本式,示例显示)
\s查看服务器信息
\c结束命令输入操作
\q退出当前sql命令模式
\h查看帮助
Mysql -h localhost -u root -p -P 3306
-h 服务器地址
-u 登录的账户名
-p 账户密码

数据库操作:
查看数据库 show databases
创建数据库 create database 库名 default charset=utf8mb4
删除数据库 drop database 库名

查看表:
show tables;
创建表:
create table 表名(字段名1 类型,字段名2 类型)engine=innodb default charset=utf8mb4;
删除表:drop table 表名
表结构:desc 表名
查看建表语句:show create table users;
数据操作 增删改查
插入:
insert into 表名(字段1,字段2,字段3)values(值1,值2,值3);
insert into 表名(字段1,字段2,字段3)values(a值1,a值2,a值3),( b值1,b值2,b值3)
查询:
select *from 表名;
select 字段1,字段2,字段3from 表名;
select *from 表名 where 字段=某个值;
修改:
update 表名 set 字段=某个值 where条件;
update 表名 set 字段1=值1,字段2=值2 where 条件;
update 表名 set 字段=字段+值 where 条件
删除:
delete from 表名 where 字段=某个值;
退出mysql
exit;或者quit;
mysql的数据类型:
常用数据类型:整型、浮点型、字符串、日期等
1、 字符串数据类型
常用的数据类型是串数据类型。它们存储串,如名字、地址、电话号码、邮政编码等。
定长串:char 7个字符位置
变长串:varchar 不能超过7个字符
2、 日期和时间类型
3、 二进制数据类型
4、 数值类型

表的字段约束
unsigned 无符号(给数值类型使用,表示整数,不写可以表示正负数都可以)
字段类型后面加括号限制宽度
char(5)varchar(7)在字符类型后面加限制表示字符串的长度
int(4)没有意义,默认无符号的int为int(11),有符号的int(10)
int(4)unsigned zerofill只有当给int类型设置有前导零的时候,设置int的宽度才有意义
not null 不能为空,在操作数据库时如果输入该字段的数据为null,就会报错
default 设置默认值
primary key 主键不能为空,且唯一一般和自动递增一起配合使用
auto_increment 定义列为自增属性;一般用于主键,数值会自动加1
unique 唯一索引(数据不能重复:用户名)可以增加查询速度,但是会降低插入和更新速度

MyISM和InnoDB表引擎的区别
1) 事务支持
MyISAM不支持事务,而InnoDB支持
事务:访问并更新数据库中数据的执行单元。事务操作中,要么都执行要么都不执行

添加数据
标准添加:
insert into stu(id,name,age,sex,classid) values (null,’zhangsan’,20,’m’,’lamp138’);
指定部分字段添加值:
insert into stu (name,classid) value(‘lisi’,’lamp138’);
不指定字段添加值:
insert into stu value(null,’wangwu’,21,’w’,’lamp138’);
批量添加:
insert into stu values
(null,’zhaoliu’,25,’w’,’lamp94’),
(null,’uu01’,26,’m’,’lamp94’);

修改数据:
update stu set age=35,sex=’m’ where id=11;
删除数据:
delete from stu where id=100;

sql查询语句:
检索单个列:
select name from stu;
检索多个列:
select id,name from stu;
检索不同的行DISTINCT:
select distinct classid from stu;
限制结果LIMIT:
select * from stu limit 3,4;
limit 3,4 的含义是从行3开始的4行(跳过前3行,取4行)

排序数据ORDER BY
select * from stu order by age
过滤数据 WHERE
select name from stu where age=20;
通配符与like
百分号(%)通配符在搜索串中,%表示任何字符出现任意次数
下划线(_)通配符下划线的用途与%一样,但下划线只匹配单个字符而不是多个字符

函数的使用
文本处理函数
时间和日期处理函数
数值处理函数

聚集函数的使用:
COUNT() 返回某列的行数
MAX() 返回某列的最大值
MIN() 返回某列的最小值
SUM() 返回某列之和
AVG() 返回某列的平均值

在使用count时,如果指定列名的值为空的行别忽略,但如果count()函数中用的时星号(*),则不忽略

数据分组group by与having
group by
select class_id,count(*) as nums from stu group by class_id;

©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页