zoukankan      html  css  js  c++  java
  • 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客户端上执行)

  • 相关阅读:
    November 13th 2016 Week 47th Sunday The 1st Day
    November 12th 2016 Week 46th Saturday
    November 11th 2016 Week 46th Friday
    November 10th 2016 Week 46th Thursday
    November 9th 2016 Week 46th Wednesday
    November 8th 2016 Week 46th Tuesday
    windows 7文件共享方法
    Win7无线网络共享设置方法
    常量指针和指针常量
    如何查找局域网的外网ip
  • 原文地址:https://www.cnblogs.com/liuwt365/p/4094839.html
Copyright © 2011-2022 走看看