整数: tinyint、smallint、mediumint、int、bigint
浮点数: float、double、real、decimal
日期和时间: date、time、datetime、timestamp、yearmysql
字符串: char、varchar
文本: tinytext、text、mediumtext、longtextsql
(可用来存储图片、音乐等): tinyblob、blob、mediumblob、longblob数据库
在关于数据库的第一篇文章中就给你们讲了使用Navicat链接数据库的方法,那么这里再给你们讲解一下使用命令链接数据库的方式。服务器
通常在公司开发中,可能会将数据库统一搭建在一台服务器上,全部开发人员共用一个数据库,而不是在本身的电脑中配置一个数据库,远程链接命令spa
mysql -h ip地址 -u root -p
create database 数据库名 charset=utf8;
drop database 数据库名;
use 数据库名;
select database();
show databases;
show tables;
create table 表名(列及类型);
列的格式:列的名称 类型 约束3d
例如:code
create table hero(h_id int auto_increment primary key,h_name varchar(10) not null);
语法:blog
alter table 表名 add(添加)|modify(修改)|drop(删除) 列名 类型;
添加列:h_skill 为字符类型图片
alter table hero add h_skill varchar(10);
修改列:h_skill修改本属性不能为空ip
alter table hero modify h_skill varchar(10) not null;
drop table 表名;
desc 表名;
mysql> desc hero; +---------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +---------+-------------+------+-----+---------+----------------+ | h_id | int(11) | NO | PRI | NULL | auto_increment | | h_name | varchar(10) | NO | | NULL | | | h_skill | varchar(10) | NO | | NULL | | +---------+-------------+------+-----+---------+----------------+ 3 rows in set (0.00 sec)
六、更改表名称
rename table 原表名 to 新表名;
七、查看边的建立语句
show create table 表名
例如:
mysql> show create table hero; +-------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Table | Create Table | +-------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | hero | CREATE TABLE `hero` ( `h_id` int(11) NOT NULL AUTO_INCREMENT, `h_name` varchar(10) NOT NULL, `h_skill` varchar(10) NOT NULL, PRIMARY KEY (`h_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 | +-------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 1 row in set (0.00 sec)
insert into 表名(列1,...) values(值1,...);
例如:
insert into hero(h_id,h_name,h_skill) values(1,'韩信','裂天爆斩');
主键列是自动增加,可是在全列插入时须要占位,一般使用0,插入成功后以实际数据为准
select * from 表名
例如:
mysql> select * from hero; +------+--------+--------------+ | h_id | h_name | h_skill | +------+--------+--------------+ | 1 | 韩信 | 裂天爆斩 | +------+--------+--------------+ 1 row in set (0.00 sec)
例如:
update hero set h_skill='真裂天爆斩' where h_id=1;
mysql> select * from hero; +------+--------+-----------------+ | h_id | h_name | h_skill | +------+--------+-----------------+ | 1 | 韩信 | 真裂天爆斩 | +------+--------+-----------------+ 1 row in set (0.00 sec)
delete from 表名 where 条件
例如:
mysql> delete from hero where h_id=1; Query OK, 1 row affected (0.01 sec) mysql> select * from hero; Empty set (0.00 sec)
本质就是修改操做update ,并无删除,只有用isdelete去和其余没有删除的数据区别,因此叫作逻辑删除,方便回复误删数据
alter table hero add isdelete bit default 0; 在须要作逻辑删除的时候写上 update hero set isdelete=1 where h_id=5;