数据库的操作
数据库的操作
在MySQL中可以容纳很多数据库,一个数据库下可以容纳很多表;
注意:在数据库中的操作,除了中文内容,其他符号都要用英文字符,否则会操作失败。
数据库基础
注:本次博客中[ ] 表示里面的语句可加可不加; db_name表示自定义的数据库名 ; table_name表示数据库下自定义的表名;
查看数据库: show databases;
创建数据库: create database db_name;
删除数据库: drop database db_name;
使用/选中数据库: use db_name;
查看数据库下的表: show tables;
在数据库下创建表: create table table_name(fide1 datatype; fide2 datatype;fide3 datapyte, …);()括号内部是所创建表的字段以及每个字段的数据类型;
删除数据库下的表: drop table table_name;
创建数据库及数据库下的表
查看数据库的语句:show databases; (SHOW DATABASES;)
例如:
创建数据库的语句:create database [if not exists] db_name;(CREATE DATABASE [IF NOT EXISTS] db_name;
意思是创建一个数据库,如果该数据库不存在,则创建,反之不创建;
[if not exists]可以写可以不写,如果你知道你创建的数据库存在就可以不加,加上这句语句则更见严谨。
创建成功会出现:Query OK, 1 row affected(0.01 sec);意为对数据库信息的请求成功,一行数据收到影响(用时0.01秒);这一行数据就是你创建的一个数据库。
例如:
使用/选中数据库:use db_name; (USEdb_name;)
显示 Database changed(数据库已更改)表示操作成功。如果要对数据库进行操作,必须要选中数据库后才能操作。
例如:
删除数据库:drop database [if exists] db_name;(DROP DATABASE [IF EXISTS] db_name;)(数据库存在则删除,反之不进行操作)
同创建数据库一样,[if exists] 也可以不写,数据库删除以后,MySQL内部就看不到对应的数据库了,而数据库下的表和数据也会被删除。
警告:数据库的删除很危险,因为一旦数据库被删除了,那么会造成数据的丢失,那么通过常规手段很难恢复。所以一般不要进行数据库的。
进行删除操作后出现Query OK, 0 rows affected(0.62 sec)
例如:
创建数据库下的数据表:create table [if not exists] table_name( filed datatype);
例如:
注:comment可以对字段进行说明;说明内容要用单引号括起来。
查看数据库下的表:show tables;
例如:
查看表的结构:desc table_name;
例如:
删除数据库下的表:drop table table_name;
例如:
数据类型
MySQL的数据类型:bit[(M)] ,tinyint , smallint , int , bigint , float(M,D) , double (M,D) , decimal(M,D) , numeric(M,D) , varchar(size) , text , mediumtext , blob , datetime , timestamp ;
bit[(M)](M指定位数,默认为1)(二进制数,M的范围从1到64,存储范围从0到2M-1)(常用Boolean 对应bit ,即只能存0,1);
tinyint (1个字节)(对应java中的Byte);
smallint(2个字节)(对应java中的short);
int (4个字节)(对应java中的Integer);
bigint (8个字节)(对应java中的long);
float(M,D)(4个字节)(单精度,M指定长度,D指定小数位数。会发生精度丢失)(对应java中的float);
double (M,D) (8个字节)(对应java中的double);
decimal(M,D) (大小为M/D最大值+2)(双精度,M指定长度,D指定小数位数。精确数值)(对应java中的BigDecimal);
numeric(M,D)(大小为M/D最大值+2)(双精度,M指定长度,D指定小数位数。精确数值)(对应java中的BigDecimal);
varchar(size)(0 - 65535字节)(可变长度字符串)(对应java中String);
text (0 - 65535字节)(长文本数据)(对应java中String);
mediumtext(0 - 165777215字节)(中等长度文本数据)(对应java中String);
blob(0 - 65535字节)(二进制形式的长文本数据)(对应java中byte[ ] );
datetime(8个字节)(范围从1000到9999年,不会进行时区的检索及转换)(对应java.util.Data、java.sql.Timestamp);
timestamp(四个字节)(范围从1970到2038年,自动进行当前时区的检索并转换)(对应java.util.Data、java.sql.Timestamp);
创建一个数据库及库下的表并删除