数据库操作
show database;查看所有的数据库use 数据库名称;进入该数据库(必须在进入数据库之后才能对数据库中的表进行操作)show tables;查询数据库中的表show column from tb1;查看数据表的结构
数据表操作
create table t1 (x int ,y int ,z,int );
alter table tb1 rename tb2;
rename table tb1 to tb2;
select * from tb1;显示结果是这样的:Empty set (0.00 sec)
因为该表刚刚创建是个空表
show column from tb1;
查询结果是这样的(名称)(数据类型)(是否为空)(主键)(默认值)(额外的)+-------+---------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra |+-------+---------+------+-----+---------+-------+| y | int(11) | YES | | NULL | || x | int(11) | YES | | NULL | || z | int(11) | YES | | NULL | |+-------+---------+------+-----+---------+-------+
drop table tb1;
采用该方法 :表的结构被删除 ,表的对象不再存在,表中的数据也都删除,该表的相关索引,约束也被删除
6.删除表中的数据,但不删除该表
truncate tb1;
desc tb1;显示结果是这样的+-------+---------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra |+-------+---------+------+-----+---------+-------+| y | int(11) | YES | | NULL | || x | int(11) | YES | | NULL | || z | int(11) | YES | | NULL | |
+-------+---------+------+-----+---------+-------+
如果有数据乱码 ,因为最早录入的是采用utf-8的格式,现在要是用gbk编码才可以呈现出来set names gkb;
约束
create table tb2 (user_name not null,user_age null);
自动编号 起始为1自动编号的字段必须设置为主键(primary key)例如create table tb2 (user_name auto_increment primary key);auto_increment 必须定义为主键 而主键不一定要是auto increment
主键必须为not null主键会保证唯一性
unique key 保证唯一性
数据表列操作
1.添加列
alter tbale tb1 column a varchar;
新增列名为a的字段
2.删除列
alter table tb1 column x;
删除列名为x的字段
3.查询表中的所有列名
show columns from 表名;
ex:show columns from tb1;
4.调整字段的位置(first,last)
alter table tb1 modify y int first;
将该字段放到最前面去了;
5.修改字段的数据类型
alter table tb1 modify x smallint;
由大类型改到小类型可能会造成数据的丢失;
6.修改字段的名称
alter table tb1 change x xx int;
将x字段更名为xx字段,其类型为int 型
该语句修改数据表中字段的名称和数据类型
7.查看表中的所有列
show columns from tb1;
8.输出所有列
select * from tb1;
select * from tb1\G
以网格形式输出所有列
数据库表行操作
insert tb1 values (x,y,z);这种方法要给所有的字段赋值,例如insert tb1 values (1,2,3);
inset tb1 () values ();这种方法可以只赋指定字段的值,例如 insert tb1 (x) values (1);