MySQL数据库操作

sql:

# windows终端进入mysql
# mysql -u用户名 -p密码 -h远程ip地址 
mysql -uroot -proot

# 退出
exit
quit

# sql语句最后都要有分号";"结尾
# 终端查看mysql版本
select version();

# 显示当前时间
select now();

# 查询所有数据库
show databases;

# 库操作
# 创建数据库
# create database 数据库名 charset=utf8; 如果不指定编码格式 默认是latin
create database python_1 charset=utf8;

# 查看创建数据库的语句
# show create database 数据库名
show create database python_1;


# 查看当前使用的数据库
select database();

# 使用数据库
# use 数据库名
use python_1;

# 删除数据库
# drop database 数据库名;
drop database python_1;
# 如果有"-"连接的数据库名要用``括起来  ` tab键上方符号
drop database `python-1`;


# 表操作
# 查看所有数据表
show tables;

# 创建数据表
# auto_increment表示自动增长
# not null 表示不能为空
# primary key 表示主键
# default 默认值
# create table 数据表名 (字段 类型 约束 下一个约束 下一个约束,  # 约束 unsigned/auto_increment/primary key not null/default ''
# 字段 类型 约束],
# 字段 类型 约束  # 最后一个没有逗号,写了就报错
# );
create table user(
    id int unsigned auto_increment primary key not null,
    name varchar(20) default '',
    age tinyint unsigned default 18
);

# 查看表结构
# desc 数据表名
desc user;

# 查看表的创建语句
# show create table 数据表名;
show create table students;

# 修改表--添加表字段
# alter table 表名 add 字段 类型;
alter table students add birthday datetime;

# 修改字段类型
# alter table 表名 modify 字段名 类型
alter table students modify birthday date;

# 修改字段名及类型
# alter table 表名 change 原字段名 新名 类型及约束;
alter table students change birthday birth date;

# 删除字段
# alter table 表名 drop 字段名;
alter table students drop high;

# 删除表
# drop table 表名;
drop table test;


# 数据-增删改查
    # 增加
        # 全列插入
        # insert into 表名 values(字段1数据,字段2数据...);
        # 主键字段 可以用 0 null default 来占位
        insert into students values(0,"laowang",18,188.88,"W",0);
        insert into students values(default,"laowang",18,188.88,"W",0);
        # enum枚举中下标从1开始 可以用设置的性别字符 也可以用下标插入数据
        insert into students values(null,"laowang",18,188.88,2,0);

        # 部分插入
        # insert into 表名(字段1,...) values(值1,...);
        insert into students(name,gender) values("xiaoqiao",2);

        # 多行插入
            # 部分多行插入
            # insert into 表名(字段,...) values(第一个数据值1,...),(第二个数据值1,...),...(第N个数据值1,...);
            insert into students(name,gender) values("diaochan",2),("daqiao",2),("xishi",2);

            # 全列多行插入
            # insert into 表名 values(字段1数据,字段2数据...),(字段1,字段2,...),....(字段1,字段2,....);
            insert into students values(null,"laowang1",18,2,1,"1991-01-01"),(0,"laowang2",18,1,2,"1990-01-01");

    # 修改
    # update 表名 set 字段1=值1,字段2=值2... where 条件;
    # 注意: 一定要有条件,不然会全部改变
    update students set name="xiaowang1",age=22 where name="xiaowang";


    # 删除
        # 物理删除
        # delete from 表名 where 条件;
        # 注意:一定要有条件 不然等于删库
        delete from students where name="laowang"# 逻辑删除
        # 用一个字段表示 这条信息是否还能使用----推荐
        # 给students表添加一个is_del字段 bit 类型
        alter table students add is_del bit default 0;
        # 逻辑删除一个数据
        update students set is_del=1 where name="laowang2";

    # 查看表数据
        # 查询全部数据
        # select * from 数据表名;  # * 代表所有字段
        select * from students;

        # 指定条件查询
        # select * from 表名 where 条件;
        select * from studens where name="laowang";

        # 指定字段查询
        # select 要查的字段1,要查的字段2, from 数据表名;
        select name,gender from students;

        # 可以使用as为列或数据表名指定别名
        # select 字段(as 别名),字段2(as 别名2) from 数据表 where 条件;
        select name as XM,gender as XB from students;

 备份和恢复:

# 备份
# mysqldump -uroot -pmysql 数据库名 > 备份的文件名.sql;
mysqldump -uroot -pmysql jing_dong > jd.sql;

# 恢复
# 1.连接mysql,创建新的数据库
# 2.退出连接,执行导入命令
# 3.导入命令:mysql -u用户 -p密码 新数据库名 < 备份的文件名.sql;
mysql -uroot -pmysql jing_dong < jd.sql;

导入数据库
mysql -uroot -pmysql # 进入数据库
use 库名; # 选择数据库
source /home/python/webspider/douban/test.sql # 把sql文件导入到mysql

 删除和重装

sudo apt purge mysql-*
sudo rm -rf /etc/mysql/ /var/lib/mysql
sudo apt autoremove
sudo apt autoreclean(如果提示指令有误,就把reclean改成clean)
原文地址:https://www.cnblogs.com/yifengs/p/11441019.html