青岛商业网站建设,友情链接,手机下载软件,免费网站电视剧全免费一 前言本篇内容是关于 基本的数据库操作#xff0c;建表#xff0c;表结构修改等内容#xff1b;学习本篇的基础是知识追寻者以前发布的文章#xff1a;公众号#xff1a;知识追寻者知识追寻者(Inheriting the spirit of open source, Spreading technology knowledge;)二…一 前言本篇内容是关于 基本的数据库操作建表表结构修改等内容学习本篇的基础是知识追寻者以前发布的文章公众号知识追寻者知识追寻者(Inheriting the spirit of open source, Spreading technology knowledge;)二 SQL 分类操作2.1 SQL 分类sql 对数据库的操作分为如下三种类型如果都学会这三种SQL语言熟练对数据库操作说明你已经对数据库登堂入室如果再学会数据库高级操作说明你对数据库就有一定的使用经验如果你还学会对数据库进行优化分表分库读写分离等操作说明你使用数据库已经到专家级别DDL数据定义语言(Data Define Language)即定义数据的结构。比如createdropalter操作DML数据管理语言(Data Manage Language)即增删改查。比如insertdeleteupdateselect。这个也在之前的文章详细写过不再提及DCL数据控制语言(Data Control Language)对权限、事务等的控制。比如grant(授权)revoke(取回权限)commitroolback等; 事物在上篇已经说明不会在本篇提及2.2 数据库基操数据库的基本操作如下也就是我们日常使用的操作连接数据库 mysql -h 地址 -P 端口 -u 用户名 -p 密码mysql -h 192.168.0.127 -P 3306 -u root -p root查看当前数据库SELECT DATABASE();显示用户活动线程SHOW PROCESSLIST;显示系统变量SHOW VARIABLES;显示当前时间用户数据库版本号SELECT now(), user(), version();创建数据库CREATE DATABASE[ IF NOT EXISTS] 数据库名 [数据库选项]数据库选项CHARACTER SET 字符集名称COLLATE 排序规则名称示例create database zszxz;删除数据库 DROP DATABASE [ IF EXISTS] 数据库名;drop database zszxz;2.3 建表语句数据库表的日常操作如下CREATE [TEMPORARY] TABLE[ IF NOT EXISTS] [库名.]表名 ( 表的结构定义 ) [ 表选项]其中 TEMPORARY 表示临时表中括号内容都表示可选在正规的数据库版本管理开发会经常使用到字段的修饰如下 数据类型非空|空约束[NOT NULL | NULL]默认值[DEFAULT default_value]自动增长[AUTO_INCREMENT]唯一键|主键[UNIQUE [KEY] | [PRIMARY] KEY]备注[COMMENT string]表选项一般就是指定数据库引擎和字符集ENGINEInnoDB DEFAULT CHARSETutf8 COMMENT顾客表;示例CREATE TABLE IF NOT EXISTS customer (id int(11) NOT NULL AUTO_INCREMENT COMMENT 主键,customer_name varchar(255) DEFAULT NULL COMMENT 顾客名称,gender varchar(255) DEFAULT NULL COMMENT 性别,telephone varchar(255) DEFAULT NULL COMMENT 电话号码,register_time timestamp NULL DEFAULT NULL COMMENT 注册时间,PRIMARY KEY (id)) ENGINEInnoDB DEFAULT CHARSETutf8 COMMENT顾客表;2.4 修改表结构查看所有表SHOW TABLES查看指定数据库的表SHOW TABLES FROM 数据库名称;示例SHOW TABLES FROM zszxz;删除表DROP TABLE[ IF EXISTS] 表名;示例: drop table op;清空表(清除数据)TRUNCATE [TABLE] 表名复制表结构CREATE TABLE 表名 LIKE 要复制的表名;示例: create table op like order;复制表结构和数据CREATE TABLE 表名 [AS] SELECT * FROM 要复制的表名;示例: CREATE TABLE op AS SELECT * FROM order;常见的alter操作如下增加一列(追加至末尾)alter table [数据库名.]表名 add [column] 字段 数据类型;示例 alter table order add column year year ;增加到第一列alter table [数据库名.]表名 add [column] 字段 数据类型 first;增加一列到指定字段名后alter table [数据库名.]表名 add [column] 字段 数据类型 after 另一个字段;修改字段名的 数据类型alter table [数据库名.]表名称 modify [column] 字段名 新的数据类型;示例 altert table order modify column gender tinyint;修改表字段的数据类型并且移动至第一列alter table [数据库名.]表名称 modify [column] 字段名 数据类型 first;修改表字段的数据类型并且移动至指定字段后面alter table [数据库名.]表名称 modify [column] 字段名 数据类型 after 另一个字段名;修改表字段的名称alter table [数据库名.]表名称 change [column] 旧字段名 新的字段名 数据类型;添加主键alter table [数据库名.]表名称 ADD PRIMARY KEY(字段名);示例 altert table order add primary key(id)添加唯一键alter table [数据库名.]表名称 ADD UNIQUE [索引名] (字段名)添加索引alter table [数据库名.]表名称 ADD INDEX [索引名] (字段名)删除一列alter table [数据库名.]表名称 drop [column] 字段名;示例altert table order drop column gender;删除索引alter table [数据库名.]表名称 DROP INDEX 索引名删除主键alter table [数据库名.]表名称 DROP PRIMARY KEY删除外键alter table [数据库名.]表名称 DROP FOREIGN KEY 外键关注知识追寻者