MySQL操作(三)数据表

时间:2022-02-21 04:24:49

一、创建数据表

方式1

CREATE TABLE IF NOT EXISTS user(  id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,  name VARCHAR(255) NOT,  sex TINYINT NOT NULL DEFAULT 0  )ENGINE=MyISAM DEFAULT CHARSET=utf8; 

方式2

--1、 创建一个临时的新表,首先复制旧表的结构(包含索引)
CREATE TABLE new_table LIKE old_table; 

-- 2、把旧表的数据复制过来
INSERT INTO new_table(filed1,filed2…) SELECT filed1,filed2,… FROM old_table; 

 

二、删除数据表

DROP TABLE IF EXISTS user; 
-- 删除表中所有的数据
DELETE FROM ebn_roomsms;
-- 删除表中指定条件的数据(带条件的删除都不是真删除,数据库文件大小没有变化,需加第二条命令)
DELETE FROM `dh_user` where id > 15;
OPTIMIZE TABLE dh_user;

三、表数据操作

 1、添加数据

-- 1、插入单条
INSERT INTO user(id,name,sex,age)values(null,‘顾亮’,0,18);  
-- 2、插入多条
INSERT INTO `ebh_jsusers`(`username`,`password`,`dateline`,`realname`,`status`,`sex`) VALUES(admin,MD5(123456),UNIX_TIMESTAMP(NOW()),总管理员,1,0),(finance,MD5(123456),UNIX_TIMESTAMP(NOW()),财务,1,1);  
-- 3、将一个表的数据插入到另一张表中 注意主键
INSERT INTO user1 (id, NAME, sex) SELECT id,NAME,sex FROM user2;
-- 4、将当前表的最大id和其他值插入到当前表中
INSERT INTO user1 (id, NAME, sex) SELECT max(id),NAME,sex FROM user1;

2、删除数据

DELETE FORM user WHERE id=1;  

3、修改数据

UPDATE user SET name=‘张三’,sex=1 WHERE id=3;  
-- 指定字段的值添加前缀(或后缀)
UPDATE user SET name=concat(hello,name,world);

4、查询数据

SELECT * FROM user; 

5、复制表结构和数据

CREATE TABLE `cls_online_course` LIKE `online_course`; 
INSERT INTO `cls_online_course`  SELECT * FROM `online_course`;

四、表结构及字段操作

1、查看表结构

-- a、建表语句
show create table eb_users;  
-- b、表结构
describe eb_users; 
-- c、查看表注释
show full columns from eb_smscharge; 

2、添加表字段

-- a、添加单个字段
ALTER TABLE `eb_notices` ADD COLUMN `remind` TINYINT(4) NOT NULL DEFAULT 0 COMMENT 0不开启弹窗提醒 1开启;
-- b、添加单个字段并指定字段位置
ALTER TABLE eb_jsapplys ADD bankaddress VARCHAR(100) NOT NULL DEFAULT ‘‘ COMMENT 开户行网点 AFTER bankname;
-- c、添加多个字段
ALTER TABLE `eb_roomsms` ADD (
    `type` tinyint(2) NOT NULL DEFAULT 1 COMMENT 功能模块,使用类型 1:直播短信点名 2:作业一键发送,
    `description` VARCHAR (255) NOT NULL DEFAULT ‘‘ COMMENT 具体内容,
    `curbalance` INT (11) UNSIGNED NOT NULL DEFAULT 0 COMMENT 当前短信结余
);

3、修改表字段

-- a、修改字段长度
alter table `user` modify column `name` varchar(50); 
-- b、修改表列名
alter table `test` change  column `address` address1 varchar(30);
-- c、修改字段注释(当前字段的其他设置都原样书写)
alter table `test` modify column `name` varchar(50) commit 用户姓名;