• MySql基础-1


    *sql of databse

     

    1.create databse

    create database mydb1;

       create database mydb2 character set utf8;

       create database mydb3 character set utf8 collate

       create database 数据库名;

       create database 数据库名 character set 编码;

       create database 数据库名 character set 编码 COLLATE 校验集;

     

    2.show databses;

      show databases;

      select database(); 查看当前数据库

     

    3.显示数据库的创建语句

      show create database 数据库名

     

    4.delete database   

      drop database 数据库名;

     

    5.update database

       alter database 数据库名 character set 字符编码集 collate 校验集;  

       use 数据库名;  切换数据库

     

     

    *sql for the table 

     

    1.create 

      create table 表名(

        字段1 字段类型,

        字段2 字段类型,

        ....

        字段n 字段类型

      );

    ex:

    create table employee(

    id int primary key auto_increment,

    name varchar(20) not null,

    gender varchar(10) unique,

    birthday date,

    entry_date date,

    job varchar(100),

    salary double,

    resume longtext

    );

     

    2.show the table

    desc tablename;

     

    3.删除表

    drop table 表名;

     

    4.修改表

    alter table 表名

    1.add 添加一个新的列.

    alter table users add password varchar(20);

    2.modify 修改列

    alter table users modify password int;

    3.drop 删除列

    alter table users drop password;

    4.change 修改列名

    alter table users change password pwd varchar(10);

    5.insert

    insert into 表名(字段1,字段2,...) values(值1,值2,....);

    5.update data

    update 表名 set 字段=值,字段1=值.

    按条件进行修改

    update 表名 set 字段=值,字段1=值,..... where 条件;

    6.delete data

    delete from 表名;---所有数据全都删除

    delete from 表名 where 条件.

     

    *datatype for the mysql

     

    ***mysql中的表的字段类型有n多种

     

    java中的数据类型 mysql数据类型

    byte SMALLINT

    short MEDIUMINT

    int int

    long bigint

    float float

    double double

    boolean bit

     

    String char varchar

     

    java.sql.Date Date DateTime

    java.sql.Time Time

    java.sql.TimeStamp TimeStamp

     

     

    ***在数据库中字符与字符串是同样的概念。 varchar char

    char与varchar区别?

    char定长的.

    varchar是不定长的.

     

    ***关于数据库中的日期类型与java中的日期类型处理问题:

    在java---》 java.util.Date类型。

    而在数据库中有一个Date类型 。它与java中的 java.sql.Date对应.

     

     

    ***在java中对于数据库对应的还有其它几种类型.

    java.sql.Date--------Date DateTime

    java.sql.Time--------Time

    java.sql.TimeStamp---TimeStamp

     

    ***大数据类型

    blob----大二进制类型. -------InputStream对应.

    text----大文本类型 -------Reader对应

     

    tinyblob tinytext 255字节 

    blob text 64KB 

    mediumblob mediumtext 16MB 

    longblob longtext 4GB

     

    ***关于mysql中的小数类型

    float

    double

    NUMERIC(5,2)

     

     

     

    3.关于表的约束

     

    约束的是什么?它的作用?

    对字段进行约束就是强制对字段的特性进行控制。

    添加约束可以提高我们的数据的完整性与安全性。

     

    1.主键约束

    我们可以让某一个字段是主键,如果这个字段是主键后,它具有两个特性.

    1.唯一性

    2.非空

     

    怎样添加主键?

    在字段上添加上 primary key就可以。

    在开发中一般对于主键来说,它不具有任何意义,只是用来做标识。

    对于主键,它是唯一不可重复,在mysql中可以通过 auto_increment来让int类型的字段进行自动增长.

     

    sqlservet--------identity(1,1)

    oracle------------使用它sequence

     

    2.非空约束

    not null

     

    3.唯一约束

    unique

    4.外键约束(多表)

     

     

    ***插入数据时的注意事项:

    1.数据需要使用引号引起来.数例类型可以不用.

    2.如果插入空值,使用null.

    3.插入的数据必须与字段的类型匹配.

    4.指定的列数与数值要对应.

    5.插入的数据长度不能超出列的指定长度.

    ***关于插入时的中文问题:

    insert into users values(null,'张三','1999-10-10');

    ERROR 1366 (HY000): Incorrect string value: 'xD5xC5xC8xFD' for column 'username' at row 1

     

    在插入中文时报错.

    原因:我们当前使用的cmd窗口它是一个客户端,在这个客户端中所使用的是编码是当前系统默认的编码。

    mysql数据库服务器在安装时,我们指定了编码 utf8,那么它的客户端与服务器端都是utf8编码。

    解决方案:

    mysql的安装文件下查找一个人my.ini文件.

    修改my.ini文件事重新启动服务.

    临时修改

    mysql中一共有6个地方使用了字符集.

    client connetion result 和客户端相关 、database server system 和服务器端相关 

    查看系统所有字符集 : show variables like 'character%';

    可以通过 -->set names gbk ;

     

    ***sql的关于删除数据:

    drop table 表名-------它用于删除表结构.

    delete from 表名 ------它用于删除表中的数据,表还存在.

    truncate 表名.---------它与delete一样,都是用于删除表中数据。

     

    delete与truncate的区别?

    1.

    delete删除时,是一条一条删除。它效率比较低.

    truncate删除是先将表结构删除,在重新创建表结构.

     

    2.

    delete 是dml语句.

    truncate不是dml语句.

     

    对于dml语句它是可以受事务控制。在事务中,我们通过delete删除后数据可以恢复.

    truncate它是不受事务控制。也就是说,删除后就不能在恢复。

  • 相关阅读:
    N in 1 & 多重引导光盘制作
    可启动 ISO 合并、Windows 安装光盘合集
    VS 2005 VC++ 文件类型
    Windows 无人值守安装应答文件详解
    30种下载Youtube视频的方法
    解释YOUTUBE FLV 地址
    Windows下进程通信方式[转]
    进程通讯 DELPHI的类实现
    c#.net常用函数列表
    Javascript, How to make a Dress Up Game (Drag and Drop)
  • 原文地址:https://www.cnblogs.com/skyzcx520/p/3942327.html
Copyright © 2020-2023  润新知