mysql是一种常用的数据库,基本使用见下
参考:http://c.biancheng.net/mysql/
库操作
1.创建
create database db2 charset utf8;
2.删除库
drop database db2;
3.使用(进入)
use db2;
4.查看库
show databases; 查看数据库
select database(); 查看当前使用的库
show create database db2; 查看创建数据库的语句
表操作
auto_increment 只能跟主键或索引
1.创建表
create table info(
id int not null auto_increment primary key,
name varchar(50) default '小李',
sex char(2) null);
复制表,可以在select语句内加入条件,
create table info2 select * from info where condition; 主外键/触发器/索引 不会被复制
create table info2 like info; 复制表结构 数据/触发器/外键不会被复制
示例:
原始表结构
使用select语句复制表,由下图可知没有复制主键,外键,触发器
使用like语句复制表,由下图可知成功复制主键,外键,没有复制触发器
2.查看表
select * from info
desc 查看表结构
show create table info;
3.删除表
drop table info;
4.修改表
alter table info drop age; --删除字段
alter table info modify name char(4) null; --修改字段属性, modify只能修改属性
alter table info change name names varchar(4) not null; --修改字段名称,change可以修改名称也可以修改属性
alter table info add primary key(id ,name); 添加主键
alter table student add constraint fk_addr foreign key(addr) references address(id);添加外键
alter table info drop primary key; 删除主键
alter table info alter sex set default '男' ;设置默认值
alter table info alter sex drop default;删除默认值
rename table info to info1; 修改表名
数据类型
二进制类型 bit 不常用
整型
tinyint
varchar 查询效率没有char高
time, date, datetime ,timestamp
数据操作
增
insert into table_name(attr1, attr2, ...插入全字段时可以不列出属性列表) values(记录1),(记录2),(记录3)
insert into table_name(attr1, attr2, ...插入全字段时可以不列出属性列表)select 要查询的内容 from table_name where condition;
删
delete from table_name where condition; 删除满足条件的数据
delete from table_name; 删除表中的全部数据,一条一条删
truncate table_name;清空表,直接删
改
update table_name set attr_name1 = '新值' [, attr_name2 = '新值' ] where condition;
查 -- 重点,难点部分,详见mysql查询操作