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)

原子性:事务的所有操作都是不可分割的院子单位,事务中的所有操作要么全部执行成功,要么全部执行失败。

一致性:事务执行后,数据库与娶她业务规则保持一致,比如银行转账,总额不变

持久性:一旦提交成功,事务中所有的数据必须被持久化到数据库中;即使数据库崩溃,在数据库重启时,也必须通过某种机制恢复数据。

隔离性:不同事务之间应该隔离起来,使每个并发的事务互不干扰




原创粉丝点击