zoukankan      html  css  js  c++  java
  • MySql笔记01

         用了两天的时间终于把MySql安装好了,还是很麻烦的,之所以没有选择直接安装,使用的是免安装版本,主要是想了解这个数据库的配置,这样以后就可以更好的了解它了。

        登录MySql:mysql –h localhost –P 3306 –u root –p  这样就可以直接登陆了。

    一些常用的命令;

    查看一些配置信息;

    s

    image

    1:创建一个名为my_db的数据库;

    create database mydb1;

    2:创建一个使用gbk字符集的mydb2;

     create database mydb2 character set gbk;

    <在data中有一个以数据库名为文件夹的,里面有个以db.opt的文件,里面就是字符集的编码>

    3:创建一个使用utf8字符集,并带校对规则的mydb3数据库;<mysql中只能写成这样>

     create database mydb3 character set utf8 collate utf8_bin;

    4:查看数据库

    show databases;

    image

    5:查看数据库的创建语句;

    show create database mydb2;

    6:修改数据库编码,将utf8---->gbk;

    alter database mydb2 character set gbk;

    7:删除数据库,<和sql server里面的是一样的,都是使用的是基本的sql语句。>

     drop database mydb1;

    8:选择数据库,进入某个数据库。

    use mydb2;

    想进入那个数据库直接进入就可以,不必要退出。

    9:查看现在是进入那个数据库

    select database();

    image

    一:数据库中的数据类型:

    char 和varchar类型:char(M)是规定固定大小的,varchar():可变长度;

    binary和varbinray类型:两个表示的是二进制数据。binary(m)表示固定长度,如果数据的长度不足将在后面补””补齐,最终达到指定长度。

    text类型:用于表示大文本数据,例如内容,评论等。

    blob类型:是一种大二进制类型,保存图片,PDF文档。

    ENUM类型:只能列举。

    set类型:表示字符串对象,可以有零/多个;

    bit类型:表示二进制数据。BIT(m);

    时间的表示方法:

        image

    二:表的操作;

    1:增加表<创建一个表employ>,这里可以设置字符集编码和调度规则。

    create table employee(
           id int,
    	   name varchar(20),
    	   gender char(1),
    	   birthday date,
    	   entry_date date,
    	   job varchar(50),
    	   salay double,
    	   resume text
    	   );

      这里注意每个字段后面都有逗号,最后一个没有,语句完了之后是以分号结尾的。

    2:查看表是否创建成功。

    查看表结构:

    desc tabName;

    查看当前所有表

    show tables;

    查看当前数据库表创建语句

    show create table tabName;

    image

    3:修改表

        增加一个image列

    alter table employee add image blob;

        修改job列,使其长度为60;之前为50;

    alter table employee modify job varchar(60);

        删除gender列

     alter table employee drop gender;

        表名改为user;

    rename table employee to user;

        修改表的字符集编码

    alter table user character set utf8;

       列名name修改为username

    alter table user change name username varchar(20);
    4:删除表
       drop table tabName;

    三:表的约束

    1:主键约束

      单行主键约束

    	    create table user(
    		id int primary key,
    		name varchar(20),
    		grade float
    		);
    这里的primary key就是对列id,将其设置是主键。
      设置多个字段主键。
    		create table employee(
    		sec_id int,
    		image_id int,
    		grade float,
    		primary key(sec_id,image_id)
    		);
    2:不能为空。
       后面直接加个not null,
             create table employee(
    		sec_id int,
    		image_id int,
    		grade float not null,
    		primary key(sec_id,image_id)
    		);
    3:唯一约束
         加个unique;
     create table user(
    		 id int primary key,
    		 username varchar(50) not null,
    		 grand float unique
    		 );

    4:默认约束

         这里就是设置数据库中的一些默认值,

    create table user(
    		 id int primary key,
    		 username varchar(50) not null,
    		 grand float default 1,
    		 job varchar(50) unique
    		 );

    image

    设置id为自增的,这里就是给其一个计数器,每一次重计数器中取值,每次都是不一样的。auto_increment;

    		 create table user(
    		 id int primary key auto_increment,
    		 username varchar(50) not null,
    		 grand float default 1,
    		 job varchar(50) unique
    		 );
  • 相关阅读:
    django操作mysql时django.db.utils.OperationalError: (2003, "Can't connect to MySQL server")异常的解决方法
    Django实践:个人博客系统(第七章 Model的设计和使用)
    shared_ptr / weak_ptr 代码片段
    Java中比较容易混淆的知识点
    指针和引用作为参数的区别
    STL 算法
    STL扩展容器
    STL中 map 和 multimap
    STL中 set 和 multiset
    <<C++标准程序库>>中的STL简单学习笔记
  • 原文地址:https://www.cnblogs.com/netxiaohui/p/5508520.html
Copyright © 2011-2022 走看看