mysql 笔记


[连接数据库]:cmd->cd \phpStudy\Mysql\bin\mysql(.exe)  -hlocalhost -uroot-proot
[查看已有数据库]:show databasses;  
[创建数据库]:create database jingyingba character set utf8;
[删除数据库 ]:drop database jingyingba;
[使用数据库]:use jingyingba;
[查找精英吧数据库里面的user表]:select* from user;
[显示所有的数据库]:show databases:
约束:
constraint [限制输入字符类型]
索引:index [提高数据库访问速度]
主键:primary key [必须有的 一般用id]
外键:foreign  key [两个表的连接]
数据类型
int(4)
bigint(8)
浮点型:
 float(4)
double(8)
decimal(自定义)
字符串类型
text
varchar()
二进制
bolb
日期和时间类型
date   3 YYYY-MM-DD
time   3 hh:mm:ss
datetime 8 YYYY-MM-DD hh:mm:ss
字段属性:
AUTO_INCREMENT:auto_increment:自增
NULL和NOT NULL:能否为空 null not null
DEFAULT:给定默认值 default
DDL
主键索引:
主键索引是关系型数据路最常见的索引类型
主要作用确定数据表中一条数据的位置
主键是唯一标识
每一个表只有一个主键
主键不能为空

唯一索引
唯一索引与主键索引一样,可以防止创建重复的值
主键只能有一个,唯一索引可以有多个
避免出现重复数据

创建表
create table 表名{
    字段1 类型(长度) [索引]
    字段2 类型(长度) [索引],
    字段3 类型(长度) [索引]
}[表类型][字符集];
例子
create table hello(
    id int(10) unsigned not null primary key auto_increment,
    username varchar(30),
    password varchar(32),
    telphone int(11)
)engine=mysam default charset=utf8;

unsigned:没有符号的整形 表示正数
primary key:主键
auto_increment:自动增长
密码32位:是因为密码存储时用md5加密 加完之后就是32位
最后一个字段名后面不可以加符号','否则就要再写一个
engine=myisam 设置表的类型
default  设置字符编码 uft-8;

基本命令:
显示所有的表:show tables;
删除表:drop table hello[表名];
显示单一表结构:desc hello[表名]:
查看所有表:show tables;
添加字段名:laert table [表名] add 字段名 属性(长度);
alter table hello add sex tinyint(1);
修改表的字段属性:alert table [表名] modify [属性名] [类型]
alert  table hello modify telphone char(11);
修改表名 (as 可以省略):alert table [旧表名]  rename as [新表明];
alert table hello rename as members;
修改列名:alert table [表名] change [旧表名] [新表名] [属性];
alert table hello change phone telphonr int(11)

表的数据操作
添加数据;insert into [表名] (字段1,字段2,字段3) value(值1,值2,值3)
insert into hello (username,password,telphone,sex) value('张三',md5('123456'),'12345678912',0)
修改数据: updata [表名] set [字段名]=[值],[字段名]=[值] where [主键] = [值];
updata hello set username='张山',score = 100  where id=1;
聚合函数 sum count
查看最大值: max();
查看最小值:min();
统计个数:count();
查看平均数:avg();
例子:
select max(score) from hello;
select username,max from hello;
select count (*) from hello;
selct min(score) from hello
select avg(score) from hello
select usernmaem,min(score) from hello;

浏览器查看MYSQL:
浏览器打开 在地址框输入localhost /phpMyAdmin/index
http://localhost/phpMyAdmin/index.php


数据库存储的位置:/phpStudy/MYSQL/data
建立标的时候不可以使用单引号 但是可以使用反引号
使用了数据库才可以创建表

 

MyISAM和innnoDB的区别

5.5默认为MySAM 不支持事务
innoDB 支持事物 当数据很多的时候
MySAM开始变慢 不够稳定
innoDB 相对比较稳定
但数据比较小的时候 使用MySAM 处理比较快

——————————以下是网上摘抄的

      ◆1.InnoDB不支持FULLTEXT类型的索引。
◆2.InnoDB 中不保存表的具体行数,也就是说,执行select count(*) from table时,InnoDB要扫描一遍整个表来计算有多少行,但是MyISAM只要简单的读出保存好的行数即可。注意的是,当count(*)语句包含 where条件时,两种表的操作是一样的。
◆3.对于AUTO_INCREMENT类型的字段,InnoDB中必须包含只有该字段的索引,但是在MyISAM表中,可以和其他字段一起建立联合索引。
◆4.DELETE FROM table时,InnoDB不会重新建立表,而是一行一行的删除。
◆5.LOAD TABLE FROM MASTER操作对InnoDB是不起作用的,解决方法是首先把InnoDB表改成MyISAM表,导入数据后再改成InnoDB表,但是对于使用的额外的InnoDB特性(例如外键)的表不适用。
---------------------
作者:席飞剑
来源:CSDN
原文:https://blog.csdn.net/xifeijian/article/details/20316775
版权声明:本文为博主原创文章,转载请附上博文链接!
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值