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表示删除
链接: 清花天藏.
欢迎访问:
这里可以交流,Python,Django甚至UI设计!!