mysql基础知识
来源:互联网 发布:神仙道心动网络 编辑:程序博客网 时间:2024/06/10 21:15
1,查看数据库
show databases
2,使用数据库
use + 库名
3,查看所有的表
show tables
4,创建数据库
create database
5,删除数据库
drop database
6,创建表
create table user(
name varchar(20),
age int
) engine myisam charset utf8;
7,删除表
drop table 表名
8,rename table 旧表名 to 新表名
9,库名不能修改,当使用图形化界面的时候,可以把旧库中的表复制到新库中。
10,create table user(
#在mysql中定义字段,字段名在前,类型在后
) engine innodb charset utf8;
11,查看表结构
desc 表名
12,给表插入数据
insert into user (name,age) values ("张大",22);
13,查看表里所有数据
select * from user;
14,删除表里所有内容
delete from user;#保留主键自增长数据,数据可以回滚(roll back),delete 后面可以跟where
truncate user;#先删除表,再创建一张同名表,所以无法保留主键自增长。数据无法回滚,后面不能跟where.
15数据库的四种语言
DDL(data definition language) 数据定义语言,对表结构或者库进行操作
DML(data maniipulation language)对数据进行操作,对表进行操作(增删改)
DQL(data query language)对数据进行查询
DCL(data control language)对权限进行查询
16,修改表里数据
updata 表名
set 列名=值
where
17,列类型整数
tinyint -128 127(有符号整型)
tinyint unsigned (无符号整型) 0 255
18,解决中文问题
set names gbk;
20,小数
float(M,D)(浮点类型)
decimal(M,D)(定点类型)
decimal比float精度高
21,字符串
char(M)(定长),如果存放的字符小于M,会使用空格补到M,定长查询速度快,空间利用率可能达到100%,当使用char类型数据时,如果后面有空格,会去掉空格。
varchar(M)(变长),如果存放的小于M,不会使用空格补到M,变长查询速度慢,空间利用率达不到100%,取出varchar类型数据时,如果数据后面有空格,你会去掉空格。
19,增加一列
alter table 表名 add 列名 + 列属性
22,删除列
alert table 表名 drop 列名
23,修改列类型,列参数
alert table 表名 modify 列名 新类型 新参数;
alert table 表名 change 旧列名 新列名 新类型 新参数
24,为什么要写 not null?
因为不想让行中出现null,使用null会影响查询效率,null和任何运算符结果都为null,在统计时不统计为null的行,null只能用is null 或者is not null 来比较
25,使用having,having对结果集有效
26,常见的内置函数
concat("字符串1","字符串2");#拼接字符串
substring("字符串",m,n)#截取字符串
select max(shop_price) fron goods;#max() 求最大值
select min(shop_price) fron goods;#max() 求最小值
select sum(goods_number) from goods;
avg()平均值
#count()统计行数,count(*)统计绝对行数,count(字段名)统计该字段不为null的行数
group by #分组
25,约束
.primary key主键约束,不能为null,不能重复,一张表只能有一个主键,可以被引用
如果主键是int类型,一般和auto_increment配合使用
unique key(唯一约束),保证记录的唯一性,一张表可以有多个唯一约束
not null(非空约束)
default 值(默认约束),
26,视图
视图是一张虚拟的表,是通过运算得到的表
创建视图的语法
create view 视图名 as select +语句
优点:简化查询 更精细化的控制权限 可以合并表
视图能不能修改
如果视图里的所有字段是从原表中原封不动的取出来的话,可以进行修改,否则不能修
27,索引
j就是数据的目录,可以提高查询速度,但是增删改的速度变低
使用索引的场合:在查询频率比较高,而且重复度比较低的字段添加索引
primary key 主键索引,
unique key 唯一索引
key普通索引
fulltext 全文索引(只支持英文)
28,myisam和innodb的区别
myisam 速度快
myisam 安全性低
innodb 支持外键
myisam 支持全文索引,innodb不支持全文索引
myisam 不支持事务,innodb支持事务
如果是新闻类数据,使用myisam较好,无过失电商网站使用innodb较好
29,事务
事务是由单独的或者多个sql语句组成,在这个过程中,每个sql语句之间相互依赖,整个操作过程不能分割,如果中途有一条或者多条sql语句执行失败,整个单元会回滚,受影响的数据会恢复到初始状态,如果成功,整个事务就会顺利执行。
30,事务的特征(ACID)
原子性:事务的所有操作都是不可分割的院子单位,事务中的所有操作要么全部执行成功,要么全部执行失败。
一致性:事务执行后,数据库与娶她业务规则保持一致,比如银行转账,总额不变
持久性:一旦提交成功,事务中所有的数据必须被持久化到数据库中;即使数据库崩溃,在数据库重启时,也必须通过某种机制恢复数据。
隔离性:不同事务之间应该隔离起来,使每个并发的事务互不干扰
- Mysql 基础知识
- MySQL基础知识
- MySQL 基础知识
- mysql 基础知识
- MYSQL 基础知识
- mysql基础知识
- MySQL基础知识
- mysql基础知识
- Mysql基础知识
- mysql基础知识
- MySQL基础知识
- mysql基础知识
- Mysql 基础知识
- Mysql基础知识
- mysql基础知识
- mysql基础知识
- mysql基础知识
- MySQL基础知识
- 一些不在教学里的道理
- "error while loading shared libraries: xxx.so.x" 错误的原因和解决办法
- 关于音乐播放器-不定时更新
- error C2065:未申明的标识符
- jstl标签的使用
- mysql基础知识
- @Inject源码翻译
- Gym 101503C Twisting the Number(思维+枚举)
- webpack
- C-单向链表的基本操作
- 如何在j2ee项目中处理高并发量访问?
- Android 7.0 虚拟按键(NavigationBar)源码分析 之 View的创建流程
- 树莓派安装Ubuntu core
- Redis存取List对象的实践