简单了解MySQL的基础语句
admin
2023-04-16 03:21:11
0

下面跟着笔者一起来简单了解MySQL的基础语句,相信大家看完肯定会受益匪浅,文字在精不在多,希望MySQL的基础语句这篇短内容是你想要的。

1.创建数据库

创建数据库的官方标准语法为:

CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name
    [create_specification] ...

create_specification:
    [DEFAULT] CHARACTER SET [=] charset_name
  | [DEFAULT] COLLATE [=] collation_name

其中{}中的内容为多选一,[]中的内容可带可不带,后续若有此类符号也是同等意思。
一般工作中常常这样创建数据库:

CREATE DATABASE IF NOT EXISTS `test_db` DEFAULT CHARACTER SET utf8;

想要查看数据库的创建语句,可以这样查看:

mysql> show create database test_db;
+----------+------------------------------------------------------------------+
| Database | Create Database                                                  |
+----------+------------------------------------------------------------------+
| test_db  | CREATE DATABASE `test_db` /*!40100 DEFAULT CHARACTER SET utf8 */ |
+----------+------------------------------------------------------------------+
2.修改数据库

一般情况下很少去修改数据库,官方给出的标准语法为:

ALTER {DATABASE | SCHEMA} [db_name]
    alter_specification ...

alter_specification:
    [DEFAULT] CHARACTER SET [=] charset_name
  | [DEFAULT] COLLATE [=] collation_name

特殊情况下我们可能会修改数据库的字符集,这时候我们可以这样书写:

ALTER DATABASE `test_db` DEFAULT CHARACTER SET utf8mb4;
3.删除数据库

删除数据库可要小心啊!千万不要删库跑路哦。此类需求一般极少,不过我们也要会呀,连库都不会删岂不是很没面子~~ 还是看下官方文档语法:

DROP {DATABASE | SCHEMA} [IF EXISTS] db_name

相比创建和更改来讲,删除就显得简单粗暴很多。所有我们操作的时候要格外小心,删除前建议做下备份。
比如我们要删除test_db库,我们可以这样写:

DROP DATABASE IF EXISTS `test_db`;

删除之后我们再执行show database就看不到test_db库了。

4.创建表

创建数据表是我们经常遇到的语句了,官方给出的参考语法比较长,这里先列出下,为了不占用太多空间,这里用代码图片代替。

对于我们学习及工作常用的选项归纳如下:

CREATE TABLE <表名> ([表定义选项])[表选项][分区选项];

[表定义选项]的格式为:
<列名1> <类型1> [,…] <列名n> <类型n>

对于临时表的创建及分区表的创建选项,日常学习及工作中用的不多,这里就不多介绍,下面列举出一个基础的创建表的语句:

CREATE TABLE `user_info` (
  `id` int unsigned NOT NULL AUTO_INCREMENT COMMENT '自增主键',
  `user_id` bigint(11) NOT NULL COMMENT '用户id',
  `username` varchar(45) NOT NULL COMMENT '真实姓名',
  `email` varchar(30) NOT NULL COMMENT '用户邮箱',
  `nickname` varchar(45) NOT NULL COMMENT '昵称',
  `birthday` date NOT NULL COMMENT '生日',
  `sex` tinyint(4) DEFAULT '0' COMMENT '性别',
  `short_introduce` varchar(150) DEFAULT NULL COMMENT '一句话介绍自己,最多50个汉字',
  `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uniq_user_id` (`user_id`),
  KEY `idx_username`(`username`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用户信息表'
5.修改表

修改表可选选项同样是很多的,参考上面创建表的选项,这里就不一一列出了。
alter table用于更改表的结构,例如,可以添加或删除列,创建或删除索引,更改现有列的类型,或重命名列或表本身。还可以更改表的存储引擎或表注释。下面介绍下几个常用的修改表的示例:

修改表选项 

# 修改表的存储引擎
ALTER TABLE t1 ENGINE = InnoDB;

# 修改表的自增值
ALTER TABLE t1 AUTO_INCREMENT = 13;

# 修改表的字符集
ALTER TABLE t1 CHARACTER SET = utf8;

# 添加(或更改)表注释:
ALTER TABLE t1 COMMENT = 'New table comment';

# 修改表名称
ALTER TABLE t1 RENAME t2;

字段(列)操作 

# 增加字段
# ALTER TABLE <表名> ADD COLUMN <新字段名> <数据类型> [约束条件] [FIRST|AFTER 已存在的字段名]
ALTER TABLE t1 ADD COLUMN col1 INT FIRST;

# 删除字段
ALTER TABLE t1 DROP COLUMN col1;

# 修改字段类型
ALTER TABLE t1 MODIFY col1 VARCHAR(30);

# 更改字段名称
ALTER TABLE t1 CHANGE col1 col2 VARCHAR(30);

索引操作 

# 添加索引
alter table t1 add index index_name (column_list) ;
alter table t1 add unique (column_list) ;
alter table t1 add primary key (column_list) ;

# 删除索引
alter table t1 drop index index_name ;
alter table t1 drop primary key ;
6.截断表

截断表即truncate table,也可理解为清空表,从逻辑上讲,TRUNCATE TABLE类似于DELETE一个表的所有行,但它绕过了删除数据的DML方法,因此它不能回滚。
truncate语法很简单,官方文档示例:

TRUNCATE [TABLE] tbl_name
7.删除表

删除表官方给出的参考语法为:

DROP [TEMPORARY] TABLE [IF EXISTS]
    tbl_name [, tbl_name] ...
    [RESTRICT | CASCADE]

如果我们不需要这个表,可以考虑使用该语法,但是它将删除表定义和所有表数据,是不可回滚的操作,一定要小心执行哦。

看完MySQL的基础语句这篇文章后,很多读者朋友肯定会想要了解更多的相关内容,如需获取更多的行业信息,可以关注我们的行业资讯栏目。

相关内容

热门资讯

美防长称美伊停火协议依然有效 △赫格塞思(资料图)当地时间5月12日,美国国防部长赫格塞思表示,他们针对伊朗问题的所有情况都制定了...
特朗普二度来华,五大博弈看点,... 就在5月11日,外交部官宣了一则重磅消息:应中国邀请,美国总统特朗普将于5月13日至15日开启访华行...
科学家预测:“哥斯拉级”厄尔尼... 科学家近日发出警告,太平洋上空正在形成一种被称为“哥斯拉”级的罕见厄尔尼诺气候模式。有科学家预测,这...
200亿美金估值的可灵,值母公... 文 | 影子备忘录 要说今年科技圈最火的赛道,AI短剧绝对排得上号。一部AI仿真人短剧,3人团队、...
多名中国公民在越南乘机遗失财物... 近日,多名中国公民反映在越乘机过程中财物遗失,中国驻胡志明市总领馆提醒中国公民注意:一、强化防范意识...
电视机尺寸一览表70寸长宽 电视机尺寸一览表70寸长宽:一般液晶电视显示屏都是16比9,70寸就是说客它对角线长70寸是106....
东莞一社区推出生育奖励方案,二... 极目新闻记者 柳之萌近日,广东东莞万江街道谷涌社区出台生育奖励方案,对符合条件的二孩家庭一次性奖励1...
80寸液晶电视尺寸长宽多少厘米 80寸液晶电视尺寸长宽多少厘米:80寸的液晶电视大概为181x111厘米,即长度大概在181厘米,宽...
石膏线一般用多久会掉 大家在装修客厅吊顶的时候,一般都会用石膏线来装。石膏线的施工非常方便,而且装修价格也比较便宜,所以很...
10公分石膏线下挂尺寸 10公分石膏线下挂,大概在8公分左右,这样排出来的石膏线才会比较好看,而且边缘也会比较整齐一些,如果...