一、库的增删改
1.创建数据库
-- 若存在,则报错(1007, u"Can't create database 'bank'; database exists")
create database `gx_dcms`;
-- 尝试创建数据库
create database if not exists `gx_dcms`;
-- 创建数据库并设置字符集
CREATE DATABASE `gx_dcms ` DEFAULT CHARSET utf8mb4 COLLATE utf8_unicode_ci;
-- 查看数据库创建语句
show create database `gx_dcms`;
2.查看数据库
-- 使用 LIKE 从句,查看名字中包含 test 的数据库
SHOW DATABASES LIKE '%test%';
3.修改数据库
-- 修改数据库名称
修改数据库名,备份当前库,新建库,再导入备份数据
4.切换数据库
-- 切换数据库;当前在gx_dcms切换到gx_ccms仍使用use database sql切换另一个数据库
use database `gx_dcms`;
-- 查看当前切换数据库
select database();
5.删除数据库
--删除不存的,(1008, u"Can't drop database 'bank'; database doesn't exist")
drop database `gx_dcms`;
--删除数据库,若存在gx_dcms
drop database if exists `gx_dcms`;
二、表的增删改
1.创建表
-- `键盘左上角标点
CREATE TABLE `cms_program` (
-- 设置id自增AUTO_INCREMENT
`id` BIGINT(20) NOT NULL AUTO_INCREMENT,
`name` VARCHAR(255) NULL DEFAULT NULL,
-- 设置id为主键
primary key (`id`),
-- 指定存储引擎InnoDB,提供事务控制能力,执行命令被回退
-- 指定表的字符集
) engine = InnoDB default charset = utf8mb4 collate utf8mb4_general_ci;
-- 查看创建表的语句
show create table `cms_program`;
2.删除表
-- 删除表结构和数据
DROP TABLE `cms_program`;
-- 删除表数据;
-- 原数据不放到rollback segment中,不能回滚. 操作不触发trigger
-- 删除速度,TRUNCATE>DELETE
TRUNCATE TABLE `cms_program`;
-- 删除表结构;删除所有的行,但是表的结构、属性和索引都是完整的
-- 放到rollback segement中,事务提交之后才生效;
-- 如果有相应的trigger,执行的时候将被触发
DELETE TABLE `cms_program`
3.修改表
-- 修改表名
alter table `cms_program` rename to `gx_newdcms`;
三、列的增删改
1.创建列
-- 增加单列
alter table `cms_program` add column `content_code` varchar(128);
-- 增加多列
alter table `cms_program`
add column `content_type` varchar(128),
add column `content_time` datetime;
2.删除列
-- 删除单列
ALTER TABLE `cms_program` DROP COLUMN `name`;
-- 删除多列
ALTER TABLE `cms_program`
DROP COLUMN `content_type`,
DROP COLUMN `content_time`;
3.修改列
-- 修改列的类型
ALTER TABLE `cms_program` modify column `name` varchar(255);
-- 修改列的名称
ALTER TABLE `cms_program` change column `name` `username` varchar(255);
四、数据的增删改
1.插入数据
-- 插入完整数据,带列名
INSERT INTO `cms_program` ('id','conent_name')
VALUES('1','Alice');
-- 插入完整数据,不带列名
INSERT INTO `cms_program`
VALUES (值1,值2,值3…值n);
-- 指定字段,插入数据
INSERT INTO `cms_program` ('id')
VALUES ('1');
-- 插入多条数据
INSERT INTO 表名 VALUES
(值1,值2,值3…值n),
(值1,值2,值3…值n),
(值1,值2,值3…值n);
2.更新数据
-- 更新某个字段/多个字段用WHERE指定位置
UPDATE student2 SET sname='jack2' WHERE sno='s1001';
UPDATE student2 SET sname='jack2',age=30,address=NULL WHERE sno='s1001';
3.删除数据
-- 删除表数据,表结构存着
DELETE FROM student2 WHERE sno='s1001';
DELETE FROM student2;
五、索引
1.创建索引
2.增加索引
-- 添加PRIMARY KEY(主键索引)
ALTER TABLE `table_name` ADD PRIMARY KEY (`column`) ;
-- 添加UNIQUE(唯一索引)
ALTER TABLE `table_name` ADD UNIQUE (`column`);
-- 添加FULLTEXT(全文索引)
ALTER TABLE `table_name` ADD FULLTEXT (`column`);
-- 添加INDEX(普通索引)
ALTER TABLE `table_name` ADD INDEX index_name (`column`);
-- 添加多列索引
ALTER TABLE `table_name` ADD INDEX index_name (`column1`, `column2`);
3.删除索引
ALTER TABLE `user_info` DROP INDEX `idx_name_mail`;