欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

mysql库/表操作(2018.09.25)

程序员文章站 2022-05-30 09:20:07
...
1.登录
	mysql -u root -p
	
	
2.数据库
	2.0创建数据库
		create database <库名>;
	2.1使用数据库
		use <表名>;
	2.2显示系统所有的数据库
		show databases;
	2.3显示当前数据库中的表
		show tables; 
	

3.表操作
	3.0创建表
		create table <表名>(
			<列名> <数据类型> [约束条件];
			...
		)
	3.1修改表名
		alter table <旧表名> rename [to] <新表名>;
	3.2修改数据类型
		alter table <表名> modify <字段名> <数据类型>;
	3.3修改字段名
		alter table <表名> change <旧字段名> <新字段名> <新数据类型>;
	3.4添加字段
		alter table <表名> add <新字段名> <数据类型> [约束条件] [first|after 已存在字段名];
	3.5删除字段
		alter table <表名> drop <字段名>;
	3.6修改字段的排列位置
		alter table <表名> modify <字段1> <数据类型> first|after <字段2>;
	3.7修改存储引擎
		alter table tb_test engine=MyISAM;
	3.8删除表的外键约束
		alter table <表名> drop foreign key <外键约束名>;
	3.9删除表(无关联表)
		drop table [if exists] 表1,表2,...表n;
	3.10删除表(关联表)
		alter table <被关联表名> drop foreign key <关联名>; --先解除关联
		drop table <关联表名>;
	
	
4.主键
	4.0创建表时指定主键的方式一:
		create table product
		(
			productID int PRIMARY KEY,
			pName VARCHAR(10),
			price DOUBLE
		)ENGINE=MyISAM default CHARSET=utf8;

	4.1创建表时指定主键的方式二:
		create table product
		(
			productID int,
			pName VARCHAR(10),
			price DOUBLE,
			CONSTRAINT pk_s_productID PRIMARY KEY(productID)
		)ENGINE=MyISAM default CHARSET=utf8;
	4.2增加主键
		alter table TStudent add primary key(studentid);
	4.3删除主键
		alter table TStudent drop primary key;
	4.4创建表时指定自增自增列
		create table product
		(
			productID int PRIMARY KEY AUTO_INCREMENT not NULL,
			pName VARCHAR(10),
			price DOUBLE
		)ENGINE=MyISAM default CHARSET=utf8;
	4.5为现有的表指定自增列
		alter table TStudent modify column studentID int PRIMARY KEY AUTO_INCREMENT;
	4.6删除表中自增列
		alter table TStudent modify column studentID int not NULL;
		删除自增列,仍然是主键,但是没有自增长功能
	4.7创建表时指定复合主键
		create table student
			(
			studentID int,
			id INT,
			sname VARCHAR(10),
			score int,
			PRIMARY KEY(studentid,id)
		)ENGINE=MyISAM default CHARSET=utf8;
	4.8给表增加复合主键
		alter table student add PRIMARY KEY(sudentID,id);
	4.9删除复合主键
		alter table student drop PRIMARY KEY;
	
	
5.约束
	5.0创建表时指定唯一性约束
		create table score
		(
			sname VARCHAR(10) UNIQUE,
			score int not NULL
		);
	5.1给现有列增加唯一性约束
		alter table score add CONSTRAINT uc_sname UNIQUE(sname);
		如果表中现有记录有重复值,不允许添加唯一性约束。可以通过聚合函数,查找有重复值的记录,删除,再创建唯一性约束。
	5.2创建复合唯一性约束
		create table student
		(
			studentID int,
			id INT,
			sname VARCHAR(10),
			score int,
			CONSTRAINT uc_id UNIQUE(studentID, id)
		)ENGINE=MyISAM default CHARSET=utf8;
	5.3删除列的唯一性约束
		alter table score drop index uc_sname;


------------------------------2018.09.26------------------------------

几点补充:

1.外键约束不能夸引擎使用;
2.表之间需要连接才用到主键;
3.有外键约束的表删除之前需要先删除约束;
4.自增列默认是从1开始,但可以自己设置。
	如果是已经建好的表:
		id列自增的话,先给id列加索引
			alter table 表名 add index id(id);
		再设置自增属性:
			alter table modify id int auto_increment;
	如果是未建立的表,直接建立的时候设置就好.给了id主键
			create table t(id int not null primary key auto_increment)
			
	修改自增列的起始值
		alter table <表名> AUTO_INCREMENT = 自增列初始值;
		
	修改自增列的步长间隔
		set @@auto_increment_increment=10;
	查看起始值和步长
		show variables like '%auto_increment%';
	查询表格状态(能够查自增列的起始值)
		show table status;

以上部分参考链接:http://blog.51cto.com/9291927/2093934(如有侵权,联系删除)

本文链接:https://blog.csdn.net/oneeyear/article/details/82844895