mysql数据库基本操作
1、数据库基本操作
创建数据库: create database 数据库名;//创立了数据库
注意,在默认的情况下,windows中数据库名、表名的大小写是不敏感的,而在linux系统中对数据库名和表名的大小写是敏感的,为论文便于平台之间的移植,建议采用小写来定义数据库名和表名。
显示数据库:show databases; //显示所有的数据库
使用数据库:use 数据库名; //选择数据库
删除数据库:drop databases 数据库名;
创建数据表:create [temp] table [if not exits] 数据表名 [(create_definition,…)][table_options] [select_statement]
其中[]中的参数是可选参数
temp:如果使用这个关键字则表明创建一个临时表
ifnot exist:这个关键字用于避免在数据库中已经存在这个表时MySQL报错
create_definition: 表的列属性。Mysql在创建表时,表至少要包含一列
table_option:表的一些特性参数
select_statement:select语句的描述部分,用它可以快速的创建表
对于create_definition的定义如下:
col_nametype [not NULL | NULL][DEFAULT default_value] [auto_increment] [primary key] [reference_definition]
col_name:字段名称
type:字段类型
notNULL | NUL: 指出该列是否被允许为空
DEFAULTdefault_vaule:该列的默认值
auto_increment:表示比否自动编号,一个表中只能由一列是被允许自动编号的,并且必须被索引
primarykey: 表示该列是否为主键
referce_definition:为字段添加注释
例如:
usedb_test;
createtable tb_admin(
idint auto_increment primary key,
nicknamevarchar(50) not null,
passwordcarchar(50) not null,
createtimedatatime
);
查看表结构 show columns 或者 describe/desc
show[full] columns from 数据表名[from 数据库名];
show[full] columns from 数据表名称.数据库名称;
desc数据表名称;
重命名表名:rename table 数据表名称1 to 数据表名称2;
删除表:drop table 数据表名称;
2、select查询数据库
select select_list //要查询的内容,选择哪些列
from 数据表名称 //指定数据库名称
where primary_constraint //查询数据库时必须满足的条件,这是满足的行的条件
group by group_columns //如何对结果进行分组
order by sorting_columns //如何对结果进行排序
having secondary_constraint //查询时满足的第二个条件
limit count //限定输出结果的条数
例如:select * from tb_test where names=’chen’;
注意如果在查询的数据库中,数据中包含中文的字符,在输出的时候可能会产生乱码,那么在执行查询操作之前,需要执行:
set names gb2312; //这里names是table中的某个字段
(1)带in关键字的查询
in关键字可以判断某个字段是否在指定的集合中。如果字段得知在集合中,则满足查询条件。
select* from tb_test where names [not] in(‘chen’,’li’); //tb_test是一个数据表,names是数据表中的一个字段(某一列)
(2)带between and关键字
select* from tb_test where id [not] between 5 and 15;
这里将输出id编号在5-15范围的所有信息。
(3)带like关键字
select* from tb_test where names like ‘%chen_qing%’;
这里使用了两种通配符,‘%’表示匹配一个或者多个字符,即可以代表任意长度的字符串,长度也可以为0. ‘_’表示只匹配一个字符。
%chen_qing%表示在c之前可以由任意多个字符,在n和q之间有一个字符,在g之后可以由任意多个字符。
。。。
Motto:the world makes way for the man who knows where he is going.