• MySql 笔记


    数据库的操作:创建,查看,修改,删除
        *创建:
            创建一个名称为mydb1的数据库。
                create database mydb1;
            创建一个使用utf-8字符集的mydb2数据库。
                create database mydb2 character set utf8;
            创建一个使用utf-8字符集,并带校对规则的mydb3数据库。
                create database mydb2 character set utf8 collate utf8_general_ci;
        *查看:
            显示所有数据库
                show databases;
            显示创建数据库的语句信息
                show create database mydb2;
        *修改:
            修改mydb1的字符集为gbk(不能修改数据库名)
                alter database mydb1 character set utf8;    
        *删除:
            删除数据库mydb2
                drop database mydb1;

    表的操作:创建,查看,修改,删除
        *创建:

        根据实体类Person创建表person
                Person {
                    int id;
                    String name;
                }
                create table person(
                    id int,
                    name varchar(20)
                );
            mysql中的数据类型:
                bit 1位 但可以指定位数,如:bit<3>
                int 2字节 可以指定最大位数,如:int<4> 最大为4位的整数
                float 2个字节 可以指定最大的位数和最大的小数位数,如:float<5,2> 最大为一个5位的数,小数位最多2位
                double 4个字节 可以指定最大的位数和最大的小数位数,如:float<6,4> 最大为一个6位的数,小数位最多4位
                char 必须指定字符数,如char(5) 为不可变字符 即使存储的内容为'ab',也是用5个字符的空间存储这个数据
                varchar 必须指定字符数,如varchar(5) 为可变字符 如果存储的内容为'ab',占用2个字符的空间;如果为'abc',则占用3个字符的空间
                text: 大文本(大字符串)
                blob:二进制大数据 如图片,音频文件,视频文件
                date: 日期 如:'1921-01-02'
                datetime: 日期时间 如:'1921-01-02 12:23:43'
                timeStamp: 时间戳,自动赋值为当前日期时间
                
            创建一个员工表
                create table employee(
                    id int,
                    name varchar(20),
                    sex bit,
                    birthday date,
                    entry_date date,
                    job varchar(20),
                    salary double,
                    resume text
                );
        *查看:
            查看所有的表:
                show tables;
            查看指定表的创建语句
                show create table employee;
            显示指定表的结构:
                desc employee;
        *删除:
            删除employee表
            drop table employee;
        *修改表:
            增加一个字段:alter table worker add column height double;
            修改一个字段:alter table worker modify column height float;
            删除一个字段:alter table worker drop column height;
            更改表名:rename table employee to worker;
            修改表的字符集:alter table worker character set gbk;

    表数据的CRUD
        *C(create增加数据) Insert语句

      *U(update更新数据) Update语句
            将所有员工薪水都增加500元。
                update employee set salary=salary+500;
            将王五的员工薪水修改为10000元,resume改为也是一个中牛
                update employee set salary=10000,resume='也是一个中牛' where name='王五';
        *D(drop删除数据) Delete语句
            删除表中姓名为王五的记录。
                delete from employee where name='王五';
            删除表中所有记录。
                delete from employee; --可以有条件,但删除所有记录差了一点
            使用truncate删除表中记录。
                truncate employee;--无条件 效率高
        
        *R(Retrieve查找数据) Select语句   

    表的约束  
        *定义主键约束 primary key:不允许为空,不允许重复

        *定义主键自动增长 auto_increment

        *定义唯一约束 unique

        *定义非空约束 not null

        *定义外键约束 constraint ordersid_FK foreign key(ordersid) references orders(id)

        *删除主键:alter table tablename drop primary key ;

    数据的备份与恢复:

      *备份:
            mysqldump -uroot -p mydb1>d: est.sql;--备份数据库里的数据

        *恢复;
            mysql -uroot -p mydb1<d: est.sql
            source d: est.sql(在mysql客户端上执行)

  • 相关阅读:
    Linux
    Linus
    Linux
    Linux
    Linux
    Linux
    Linux
    Linux
    Django日志配置
    linux
  • 原文地址:https://www.cnblogs.com/liuwt365/p/4094839.html
Copyright © 2020-2023  润新知