MySQL数据库(2)_MySQL数据库和数据库表操作语句

时间:2023-03-09 04:20:33
MySQL数据库(2)_MySQL数据库和数据库表操作语句

一、关于数据库操作的sql语句

-- .创建数据库(在磁盘上创建一个对应的文件夹)
create database [if not exists] db_name [character set xxx] -- .查看数据库
show databases;查看所有数据库
show create database db_name; 查看数据库的创建方式 -- .修改数据库
alter database db_name [character set xxx] -- .删除数据库
drop database [if exists] db_name; -- .使用数据库
切换数据库 use db_name; -- 注意:进入到某个数据库后没办法再退回之前状态,但可以通过use进行切换
查看当前使用的数据库 select database();

二、关于数据表操作的sql语句

创建一张数据库表

-- 语法
create table tab_name(
field1 type[完整性约束条件],
field2 type,
...
fieldn type
)[character set xxx];

完整性约束条件:

 /* 约束:
primary key (非空且唯一) :能够唯一区分出当前记录的字段称为主键!
unique
not null
auto_increment :自增字段,用于主键字段,主键字段必须是数字类型
*/

示例:

-- 创建一个员工表employee

         create table employee(
id int primary key auto_increment ,
name varchar(),
gender bit default , -- gender char() default ----- 或者 TINYINT()
birthday date,
job varchar(),
salary double(,) unsigned,
resume text -- 注意,这里作为最后一个字段不加逗号
);

查看表信息:

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 user add addr varchar() not null unique first/after username;
#添加多个字段
alter table users2
add addr varchar(),
add age int first,
add birth varchar() after name; -- ()修改一列类型
alter table tab_name modify 列名 类型 [完整性约束条件][first|after 字段名];
alter table users2 modify age tinyint default ;
alter table users2 modify age int after id; -- ()修改列名
alter table tab_name change [column] 列名 新列名 类型 [完整性约束条件][first|after 字段名];
alter table users2 change age Age int default first; -- ()删除一列
alter table tab_name drop [column] 列名;
-- 思考:删除多列呢?删一个填一个呢?
alter table users2
add salary float(,) unsigned not null after name,
drop addr; -- ()修改表名
rename table 表名 to 新表名; -- ()修该表所用的字符集
alter table student character set utf8;

删除表:

drop table tab_name;