一、创建数据表
方式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 ‘用户姓名‘;