首页 > 数据库 > MySQL > 正文

MySQL 数据库和表操作

2022-07-30 23:12:20
字体:
来源:转载
供稿:网友

        -- 创建数据库
       -- 创建 classroom 数据库
       create database 数据库名 default character set 字符编码 collate 排序规则;
       eg:
       create database classroom default character set utf8 collate utf8_general_ci;
 
      -- 查看所有数据库
      show databases;
 
      -- 选择数据库
      use 数据库名;
    eg:
use classroom;
 
-- 删除数据库
drop database 数据库名;
    eg:
drop database classroom;
  
-- 创建表
-- 创建 class 表
create table 表名(字段名 数据类型[长度] 属性[非空性 默认值 自增 主键 注释])charset=utf8,engine=innodb;
    eg:
create table class (
id int (11) not null auto_increment primary key comment '学号',
name varchar(20) not null comment '姓名',
sex varchar(2) not null comment '性别',
age int (3) not null comment '年龄',
address varchar(255) not null comment '重庆'
);
 
 
-- 修改 表
-- 添加字段
alter table 表名 add 字段名 数据类型 属性;
    eg:
alter table class add stu_name varchar(255) null;
alter table class add birthday timestamp;    -- 时间 日期
 
-- 修改字段
alter table 表名 change 字段 新字段 类型(参数) 属性;
    eg:
alter table class change stuname name varchar(20) not null;
 
 
-- 删除字段
alter table 表名 drop 字段;
    eg:
alter table class drop name;
 
-- 增加主键
alter table 表名 add primary key (字段);
    eg:
alter table class add primary key (id);
 
-- 修改 表名
alter table 表名 rename to 新名;
    eg:
alter table class rename to class_one;
 
 
-- 复制 表
-- 方法1:不能复制键;
create table 新表 select * from 旧表;
    eg:
create table class1 select * from class;
 
 
-- 方法2:全表赋值;
create table 新表 like 旧表;
    eg:
create table class1 like class;
 
 
-- 删除 表
-- 删除 表
drop table 表名;
    eg:
drop table class1;
 
-- 删除 多表
drop table 表名1,表名2,...表名n;
drop table class,class1,class2;
 
 
 
--数据操作
-- 插入信息
-- 方法1:insert...values
-- 单条语句
insert into class values (21403001,'张三','男',20,'重庆');
 
-- 多条语句
insert into class values
(null,'小花1','女',31,'河北3',null,null),
(null,'小花1','女',31,'河北3',null,null),
(null,'小花1','女',31,'河北3',null,null);
 
-- 方法2:insert...set
insert into class set id=null,name='小花1',sex='女',age=32,address='河北3',birthday=null,remark=null;
 
-- 方法3:insert...select
insert into class1 select * from class;
 
 
-- 查询数据
-- 方法1:查询特定的行与列
select id, name from class where id<=21403005 and name<>'王五';
 
-- 方法2:限制结果集
select * from class limit 5;
-- 备注:
 
 
-- 方法3:排序结果集
select * from class order by name asc;
 
-- 更新(修改)数据
-- update 表名 set 字段1=值,...字段n=值n [where...] [order by ...] [limit row 值]
-- set 指定要修改的列
-- order by 按照被指定的顺序对行进行更改
-- limit 限制可以被更新的行的数目
update 表名 set 字段名=值,字段名=值,字段名=值,..... where 条件表达式;
eg:-- 修改 学号 为 21403103 的 姓名 和 年龄
update class2 set name = '张三',age='50' where id = 21403103;
update class2 set address='天津' where id = 21403108;
 
-- 删除数据
-- 方法1:如果不使用 where,则会删除所有数据
delete from 表名 where [字段=值];
delete from 表名 where 条件表达式;
-- 提交事务后生效,truncate不能保证事务的安全性。
eg:
delete from class2 where address="上海"; -- 指定字段 删除 数据
  
-- 插入数据
insert into class2 values(21403100,'张三','男',22,'重庆');
 
 
insert into class2 values(null,'王五','男',25,'上海');
 
 
-- 查看表
select * from class2;
 
 
-- 查看所有表
show tables;
 
 
-- 查看 表结构
describe class;
  
-- 查看当前登录用户
select user();
 
 
-- 查看当前数据库
select database();
 

(编辑:错新网)

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表