msql 中对库、文件夹、文件的操作

一、库

  库即文件夹 

增:create database db charset utf8;

查:show databases;
      show create database db;

改:alter database db charset gbk;

删:drop database db;

二、文件夹

  在对文件夹进行修改时需要选择对应的库

增:create table student(id int,name char);
    create table db.student(id int,name char);

查:show tables;
    show create table student;
    desc student;

改:alter table student add age int;
    alter table student modify name char(15);
    alter table student change name NAME char(10);

    # 删除表格中的某一个属性
    alter table student drop age;

删:drop table student;    

1.创建表的完整语法:

create table 表名(字段名 字段类型[宽度 约束条件],
                          字段名 字段类型[宽度 约束条件]);


# 规定
    同一张表中,表名时不可一致的
    宽度和约束条件时可以自由选择的
    字段名和字段类型是必须有的

2.查看表的结构

desc 表名

3.数据类型

3.1整数类型

TINYINT SMALLINT MEDIUMINT INT BIGINT

(1)整型在创建时默认是有符号的(即+-)

  create table tb(x tinyint);   # 没有指定符号,即使用默认的

  create table tb(x tinyint unsigned);   # 指定不需要-号,即自定义符号

注意:整型后边的宽度限制根本就不是存储宽度,而是显示宽度 

  create table tb (x int(1));

set global sql_mode="strict_trans_tables";
# 必须重启客户端之后方可查看
# 查看方式
select @@sql_mode;
修改sql_mode为严格模式

3.2 浮点型

FLOAT DOUBLE DECIMAL

(1)FLOAT 单精度浮点数

格式:float(m,d)   m:表示数字总个数,最大值是255;d:表示小数点后的个数,最大值值是30

(2)DOUBLE 双精度浮点数

格式:double(m,d)  m:表示数字总个数,最大值是255;d:表示小数点后的个数,最大值值是30

(3)DECIMAL 准确的小数值

格式:decimal(m,d)  m:表示数字总个数(-号不算在内),最大值是60;d:表示小数点后的个数,最大值值是30

3.3 日期类型

DATE TIME DATETIME TIMESTAMP YEAR 

格式:

  time:00:00:00

  date:9999-9-9

  year:9999

  datetime/timestamp:9999-9-9 00:00:00

  

create table student(
    id int primary key auto_increment,
    name char(15),
    born_year year,
    birth date,
    class_time time,
    log_time datetime
);

insert into student(name,born_year,birth,class_time,log_time) values
('dawang',now(),now(),now(),now());
datetime
create table student(
    id int primary key auto_increment,
    name char(16),
    born_year year,
    birth date,
    class_time time,
    reg_time timestamp
);

insert into student(name,born_year,birth,class_time,reg_time) values
('dawang',now(),now(),now());
timestamp

3.4 字符类型

char:定长char(5)

varchar:变长varchar(5)

注意:宽度限制指的是字符的个数

相同点:

  宽度指的都是最大存储的字符个数,超过了都是无法正常存储的

不同点:

  char(5):'m'---'m    '指的是5个字符,右边实际上会以空格自动填充

  varchar(5):'m'---'m'指的是1个字符,什么事情都不会发生

set global sql_mode="strict_trans_tables,PAD_CHAR_TO_FULL_LENGTH";
设置成自动填充模式

在指定查找是需要注意的点:

  mysql 在查询时,针对where 字段='值     '这种类型的,会自动忽略掉右边的空格,变成where 字段='值' 的格式

  但是,但我们需要模糊匹配时就需要注意了,它是不会自动忽略掉右边的空格的。

% 表示的是在指定的字符之后可以是任意个数的字符
_   表示的是在指定的字符之后只能有一个任意的字符
查找时的 %和_

3.5 枚举与集合

枚举:enum('a','b','c')指的是从多个中选择一个

集合:set('a','b','c')指的是从多个中选择多个

create table student(
    name varchar(15),
    sex enum('male','female'),  # 性别类型应该设置成从多个当中选择一个即可
    hobbies set('read','music','play')  #爱好这种类型可以有多个
);

三、文件

增:insert into student(id,name) values
    (1,'dawang'),
    (2,'xiaoer');

查:select * from student;    
    select name from db.student;
    select id,name from student;
    select id from student where id=2;

改:update db.student set name='DAWANG' where id =1;

删:delete from student where id =1;
       truncate student;
# delete 和 truncate的区别:
# delete 删除表格中某一行时,会保留之前的id,即在之后创建的数据id 都会以之前的为起始
# truncate 清除整个表格,id号会清空,下次新增的id会重新开始计数
原文地址:https://www.cnblogs.com/Smart1san/p/9339846.html