mysql数据库_数据库操作

1.查看数据库

# 查看所有数据库
show databases
# 移除权限
revoke select on *.* from 'ceshi03'@'%'
# 删除账户
drop user 'ceshi03'@'%'
# 刷新权限
flush privileges

2.创建数据库

增:
    # 创建数据库
    create database db1 charset utf8;
查
    # 查看数据库
    show databases;
    # 查看数据库的建库语句
    show create database db1;
改
    # alter更改数据库字符集
    alter database db1 charset gbk
删
    # 删除数据库[2323撒旦发射点]
    drop database 2323撒旦发射点;

3.操作数据库

# 先去选择使用哪一个数据库进行创建表
use 数据库名称
增:
    int 整型 char 字符串
    # 字段名1 数据类型1 ,  字段名2 数据类型2 , .... 
    create table t1( id int,name char );
查:
    # 查看所有数据表
    show tables
    # 查看建表语句
    show create table t1;
    # 查看表结构
    desc t1
改:
    # modify 只能改变数据类型
    alter table t1 modify name char(5);   ##改变存储长度
    # change 连带名字和数据类型一起该表
    alter table t1 change name NAME char(4);
    alter table t1 change NAME name char(5);
    # add 添加字段
    alter table t1 add age int ;
    # drop 删除字段 column列 
    alter table t1 drop column age;
    # 更改表名 rename
    alter table t1 rename t111;
删:
    # 删除表t2
    drop table t2

4.操作记录

# NULL null select SELECT  系统大小写不区分 NULL <==> None 等价
增:
    #一次插入一条数据  表(字段名1,字段名2,...) values(值1,值2,...)
    insert into t1(id,name) values(1,'xboy');
    #一次插入多条
    insert into t1(id,name) values(2,"xboy2"),(3,"xboy3"),(4,"xboy4")
    #不指定具体字段,默认把所有字段都插一遍
    insert into t1 values(5,"xboy5");
    #可以指定具体某个字段进行插入
    insert into t1(name) values("xgirl");    
查:
    # *代表所有
    select * from t1;
    select id,name from t1;
改:
    # update 表名 set 字段=值 where 条件
    update t1 set name="张三"
    update t1 set name = "xboy1" where id = 1
删:
    # 删除id为1的这条数据
    delete from t1 where id = 1
    delete from t1 
    # 完全的重置 (删除数据,重置id,速度更快),清空数据表
    truncate table t1;

 5.常用操作

# ### part5 常用数据类型

# 整型
tinyint   1个字节 有符号(-128~127)  无符号 (0~255) 小整型值
int       4个字节 有符号(-21亿 ~ 21亿 左右)  无符号 (0 ~ 42亿 左右) 大整型值, 精度更高

    create table t1(id int ,sex tinyint);
    insert into t1 values(2200000000,128); error
    insert into t1 values(2100000000,127);

# 浮点型
float(255,30)    单精度
double(255,30)   双精度
decimal(65,30)   金钱类型 ,一般使用在金钱上,是使用字符串的形式保存的小数
    '''float 小数位默认保留5位  double 小数位默认保留16位 decimal只保留了一个整数,存在四舍五入的情况'''
    create table t2(f1 float(5,2) ,f2 double(5,2) ,f3 decimal(5,2)  );
    insert into t2 values(1.55555,1.55555,1.55555) # 存在四舍五入的情况
    
    create table t3(f1 float ,f2 double ,f3 decimal);
    insert into t3 values(1.3456666666666666666666666666666666666666,1.3456666666666666666666666666666666666666,1.9456666666666666666666666666666666666666);        
    
    create table t3_3(f1 float(5,2));
    insert into t3_3 values(12.567)

# 字符串
char(11)         定长:固定开辟11个长度的空间(手机号,身份证..) 速度快 
varchar(11)      变长:最大开启字符长度为11的空间 (文章评论,0~255字,短信) 相比较于char速度稍慢
text             文本类型,这种类型针对于存储文章,论文,小说
    create table t4(c char(11) , v varchar(11),t text);
    insert into t4 values("111112222","你好","是对方开具收款登记反馈拉三季度风口浪尖快乐健康了")
    select concat(c,":",v,":",t) from t4;

# mysql 函数
    concat 连接拼接 concat(参数1,参数2,参数3 ....) 把所有参数拼一起

# 枚举 和 集合
    enum  枚举 : 从一组数据中选一个(性别)
    set   集合 : 从一组数据中选多个(自动去重)
    
    create table t5(
    id int , 
    name varchar(10) , 
    money float(6,2),
    sex enum("man","woman") , 
    hobby set("eat","drink","piao","du","chou")    
    )
    
    insert into t5(id,name,money,sex,hobby) values(1,'lisi',1000.12,"man","eat,chou");

# ###  配置linux中utf8字符集
(1)find / -name my.cnf

(2)nano my.cnf 会看到下面连接的两个路径
/etc/mysql/conf.d/
/etc/mysql/mysql.conf.d/

(3)找路径 从而找到mysql 和mysqld的两个文件
把default-character-set=utf8 放到 /etc/mysql/conf.d/ 配置文件
把character-set-server=utf8 放到/etc/mysql/mysql.conf.d/ 配置文件

(4)重启;
原文地址:https://www.cnblogs.com/jalen-123/p/13173875.html