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

MySQL数据库基本操作

程序员文章站 2022-03-24 23:46:10
...

MysQL数据库基本操作

查看

以root身份连接数据库:

mysql -uroot -p

查看当前时间:

select now();

查看当前数据库版本:

 select version();

查看当前数据库是创建时的语句重现

show create database XXX(库名);

查看某个库的某个表用是什么语句创建出来的:

show create table XXX(表名);

查看当前所在的数据库:

select database();

查看当前库中的某个表的所有数据:

desc table(表名);

查询数据:

select * from students where name="stefan";

查询某个或多个字段的数据:

select 字段二,字段二 from 表名;

更改

创建以utf8为编码的库:

create database XXX(库名) charset=utf-8;

除特殊情况外,几乎所有的库在创建时,都需要指定编码

创建一个表:

create table XXX(字段名 类型(范围) 条件/约束,字段 类型(范围) 条件 约束,······ charset=utf-8(甚至还可以指定编码))

例:创建一个学生表:

create table students (
	id int unsigned not null primary key auto_increment,
	name varchar(30),(varchar类型必须在后面的括号内指定长度范围)
	hith decimal(3,1),
	age tinyint unsigned default 0,
	gender enum("男","女","保密") default "保密",
	class_id int unsigned
	);

如果使用了自增长条件,直接无法设置默认值。enum类型中的枚举和后面的默认值需要用单引号来包括,其中各个条件的顺序需要注意

向表中插入数据:

insert into students (id,name,hith,age,gende,class_id) value(1,“petter”,1.60,20,'man',11);

向表中增加字段:

alter table students add birthday datetime;

更改数据类型:

alter table students modify age int unsigned default 0;

将原来的tinyint改成int

更改字段名并且设置属性和约束:

alter table students change age new_age int unsigned default 0;

将原来的age改成new_age

插入数据的拓展1:

insert into `students(id,name,high,new_age,gender,class_id,birthday,home) values(XXX);

(要插入的表后面可以跟上表字段,也可以不跟)

#总结:插入数据拓展的主键可以是空,可以是default,因为本例子中的主键是自动增长的,而enum的枚举可以根据设置表字段时的顺序用1,2,3来表示

删除

注意:以下教程仅作为了解,由于影响巨大且结果无法承受,几乎所有的生产环境均不会允许进行以下任何操作!

删除某个已经创建的数据库:

drop database XXX(数据库名);

删除表中的字段:

alter table students drop XXX(字段名);

删除表中的某条数据:(等同于用户的注销)

delete from students where id=4;

删除表中数据,但是保留表结构:

truncate table 表名;

创建新的字段表示逻辑删除:

alter table student add is_delete bit not null default 0;

将数据逻辑删除是很多公司对于数据删除处理的办法,其中:0表示不删除,1表示删除

链接: 清花天藏.

欢迎访问: MySQL数据库基本操作
这里可以交流,Python,Django甚至UI设计!!