初始_Mysql

一、数据库

数据库可以理解成数据存储的文件夹,里面有各种表用来存储数据

show(展示) /database(数据库)/ table(表)
auto_increament(自增)/ primary(主要) /alter(修改)
create(创建)/select(查)/delete、truncate、drop(删除)
insert into(增)/update(改)

1.下载

MySQL Community Server 5.7.16
http://dev.mysql.com/downloads/mysql/

2.添加环境变量

将数据库的bin文件添加到,环境变量中

3.启动数据库

在终端输入 mysql -u root -p

二、操作数据库

1.显示数据库

SHOW DATABASES;

默认数据库:
  mysql - 用户权限相关数据
  test - 用于用户测试数据
  information_schema - MySQL本身架构相关数据

2.创建数据库

 CREATE DATABASE 数据名称 DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

3.删除数据库

drop database 数据库名称;

4.使用数据库

USE db_name;

5.显示表

SHOW TABLES;

6.授权

创建用户
    create user '用户名'@'IP地址' identified by '密码';
删除用户
    drop user '用户名'@'IP地址';
修改用户
    rename user '用户名'@'IP地址'; to '新用户名'@'IP地址';;
修改密码
    set password for '用户名'@'IP地址' = Password('新密码')
  

三、操作表
1.创建表

create table 表名(
    列名  类型  是否可以为空,
    列名  类型  是否可以为空
)ENGINE=InnoDB DEFAULT CHARSET=utf8

(1)是否为空

#id字段不准为空
create table 表名(id INT NOT NULL);
#id 字段为空设置默认值
create table 表名(id INT NOT NULL DEFATULT 2);

(2)自增和主键

#auto_increment自增  primary主键 
create table 表名(id int auto_increment primary key);
#或
 create table 表名(
                nid int not null auto_increment,
                primary(nid)
            )
#注:自增时要用int 类型
#主键,不允许有空值,如果主键使用单个列,则它的值必须唯一,如果是多列,则其组合必须唯一。
 create table 表名(
                nid int not null auto_increment,
                user char(10) not null,
                primary(nid,user)
            );

2.插入数据

insert into 表名(字段,字段) values('值','值'); 

3.查询数据

select * from 表名

三、数据类型

#数字类型
bit (M) 二进制,默认m=1
tinyint 整数数值范围:有符号: -128 ~ 127.无符号: 0 ~ 255
        MySQL中无布尔值,使用tinyint(1)构造。
int(m)整数类型:有符号:-2147483648 ~ 2147483647 无符号: 0 ~ 4294967295
        m仅用于显示,对储存无限制。
decimal(m[,d]) 准确的小数值,m是数字总个数(负号不算),d是小数点后个数。 m最大值为65,d最大值为30。
float/double 双精度数值越大越不准确

#字符串
char 固定 长度最多255个字符,读取速度快
vchar 可变长度,最多255个字符,占用空间小
text 可变长度,最多65535
blob 保存二进制数据
mediumtext  16,777,215
longtext 4,294,967,295

#时间
DATE
YYYY-MM-DD(1000-01-01/9999-12-31)
TIME
HH:MM:SS('-838:59:59'/'838:59:59')
YEAR
YYYY(1901/2155)
DATETIME
 YYYY-MM-DD HH:MM:SS(1000-01-01 00:00:00/9999-12-31 23:59:59    Y)
TIMESTAMP
YYYYMMDD HHMMSS(1970-01-01 00:00:00/2037 年某时)

四、修改表

添加列:alter table 表名 add 列名 类型
删除列:alter table 表名 drop column 列名
修改列:
        alter table 表名 modify column 列名 类型;  -- 类型
        alter table 表名 change 原列名 新列名 类型; -- 列名,类型
  
添加主键:
        alter table 表名 add primary key(列名);
删除主键:
        alter table 表名 drop primary key;
        alter table 表名  modify  列名 int, drop primary key;
  
添加外键:alter table 从表 add constraint 外键名称(形如:FK_从表_主表) foreign key 从表(外键字段) references 主表(主键字段);
删除外键:alter table 表名 drop foreign key 外键名称
  
修改默认值:ALTER TABLE testalter_tbl ALTER i SET DEFAULT 1000;
删除默认值:ALTER TABLE testalter_tbl ALTER i DROP DEFAULT;

你可能感兴趣的:(初始_Mysql)