标签:创建 小数 address 完整性 默认 无法 表数 信息 alt
数据库操作:
---查看warnings内容
show warnings
---查看当前在那个数据库
select database();
---查看有那些数据库
show databases;
---查看数据库创建信息
show create database s3;
---创建数据库
create database if not exists s3;
---创建数据库 设置编码
create database if not exists s4 character set utf8;
---修改数据库编码
alter database s4 character set gbk;
---删除数据库
drop database s4;
创建表
/////////////表处理(主键:非空且唯一) 非空:not null 唯一:unique float(4,2)表示6位数,小数点数2位 最大99.99
---创建表
create table emp(
id INT primary KEY auto_increment,
name VARCHAR(30),
age TINYINT DEFAULT 100,
salary FLOAT(9,2)
);
---多字段联合主键
create table users2(
id INT,
name varchar(20),
city varchar(20),
primary key(name,id)
);
查看表信息
---查看表创建信息
desc tab_name 查看表结构
show columns from tab_name 查看表结构
show tables 查看当前数据库中的所有的表
show create table tab_name 查看当前数据库表建表语句
修改表信息
----修改表结构
--增加列(字段) alter table tab_name add [column] 列名 类型[完整性约束条件][first|after 字段名];
ALTER TABLE emp ADD address TEXT;
#添加多个字段
ALTER TABLE emp ADD date DATE not NULL,ADD work VARCHAR(22) not NULL;
--删除列
alter TABLE emp DROP WORK; 删除work 字段
#删除多个字段
alter TABLE emp DROP date,DROP address;
--修改字段属性
ALTER TABLE emp MODIFY age SMALLINT NOT NULL; #age字段类型修改成SMALLINT NOT NULL
#修改到那个字段后面[first|after 字段名] 放到第一 after 放到那个字段后面
ALTER TABLE emp MODIFY age SMALLINT NOT NULL AFTER id; #AFTER id放到ID 后面
--修改列名
alter table tab_name change [column] 列名 新列名 类型 [完整性约束条件][first|after 字段名];
ALTER TABLE emp CHANGE age uuid VARCHAR(20) not null; #age 修改成uuid
--修改表明
RENAME TABLE emp to emppp;
--添加主键,删除主键
alter table tab_name add primary key(字段名称,...)
alter table users 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);
-- 思考,如何删除主键?
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)-- 索引值默认为字段名show create table users;
alter table users add unique key user_name(name);-- 索引值为user_name
-- 添加联合索引
alter table users add unique index name_age(name,age);#show create table users;
-- 删除唯一索引
alter table tab_name drop {index|key} index_name
--插入表数据
INSERT into emp(name,salary) VALUES("张三丰",1900.99);
#插入多行
INSERT into emp(name,salary) VALUES("张三丰",1900.99),("张无忌",2900.99);
标签:创建 小数 address 完整性 默认 无法 表数 信息 alt
原文地址:https://www.cnblogs.com/ajaxa/p/9253388.html