数据库和数据库表的基本操作
数据库操作:
创建数据库---->create database [if not exists] db_name [character set xxx];
删除数据库---->drop database db_name;
修改数据库---->alter database db_name [character set xxx]
查看所有数据库---->show databases;查看所有数据库
---->show create database db_name;查看数据库的创建形式
使用数据库---->use db_name;--注意:进入到数据库后没办法再退回之前状态,但可以通过use进行切换,
查看当前的数据库---->select database();
------------------------------------------------------------------------------------------------
数据表操作:
增:
创建表(类似于一个excel表)
create table tab_name(
field1 type[完整性约束条件],
field2 type,
...
fieldn type
)[character sex xxx]
--创建一个员工表employee
create table employee(
id int primary key auto_increment, --auto_increment意思是主键自动自增,每增加一条记录,id都会自动加1.
name varchar(20),
gender bit default 1,--字段gender设置为默认值1
birthday date,
entry_date date,
job varchar(20),
salary double(4,2) unsigned,
resume text --注意,这里作为最后一个字段不加逗号
);
约束:
primary key (非空且唯一):能够唯一区分出当前记录的字段成为主键!
unique
not null
auto_increment 主键字段必须是数字类型
外键约束 foreigh key
删除唯一约束:alter table tab_name drop index name;
增加列(字段)
alter table tab_name add [column] 列名 类型[完整性约束条件][first|after 字段名];
alter table user add addr varchar(20) not null unique first/after username;
#添加多个字段
alter table users2
add addr varchar(20),
add age int first,
add birth varchar(20) after name;
删:
删除一列---->alter table tab_name drop [column] 列名;
alter table users2
add salary float(6,2) unsigned not null after name,
drop addr;
删除表---->drop table tab_name;
添加主键,删除主键:
alter table tab_name add primary key(字段名称,...);
alter table tab_name drop primary key;
eg:
mysql> create table test5(num int auto_increment);
ERROR 1075 (42000): Incorrect table definition; there can be only one auto column and it must be defined as a key
create table test(num int primary key auto_increment);
如何删除主键?
create table test(num int primary key auto_increment);
alter table test modify id int;--auto_increment没了,但这样写主键仍然存在,所以还要加上下面这句
alter table test drop primary key;--仅仅用这句也无法直接删除主键
唯一索引:
alter table tab_name add unique [index|key] [索引名称] (字段名称,...)
alter table users add unique(name);
alter table users add unique key user_name(name);
添加联合索引:
alter table users add unique index name_age(name,age);
删除唯一索引:
alter table tab_name drop {index|key} index_name;
改:
修改一列的类型:
alter table tab_name modify 列名 类型 [完整性约束条件] [first|after 字段名];
alter table tab_name modify age tinyint default 20;
alter table tab_name modify age int after id;
修改列名:
alter table tab_name change [column] 列名 新列名 类型 [完整性约束条件] [first|after 字段名]
alter table users2 change age Age int default 28 first;
修改表名:
rename table tab_name to new_table_name;
修改表所用的字符集
alter table student character set utf8;
查:查看表信息
desc tab_name 查看表结构
show column from tab_name 查看表结构
show tables 查看数据库中所有的表
show create table tab_name 查看当前数据库表建表语句